(roletype r domain)
(typeattribute dev_type)
(typeattributeset dev_type (device_28_0 alarm_device_28_0 ashmem_device_28_0 audio_device_28_0 audio_timer_device_28_0 audio_seq_device_28_0 binder_device_28_0 hwbinder_device_28_0 vndbinder_device_28_0 block_device_28_0 camera_device_28_0 dm_device_28_0 keychord_device_28_0 loop_control_device_28_0 loop_device_28_0 pmsg_device_28_0 radio_device_28_0 ram_device_28_0 rtc_device_28_0 vold_device_28_0 console_device_28_0 cpuctl_device_28_0 fscklogs_28_0 full_device_28_0 gpu_device_28_0 graphics_device_28_0 hw_random_device_28_0 input_device_28_0 kmem_device_28_0 port_device_28_0 lowpan_device_28_0 mtd_device_28_0 mtp_device_28_0 nfc_device_28_0 ptmx_device_28_0 kmsg_device_28_0 kmsg_debug_device_28_0 null_device_28_0 random_device_28_0 secure_element_device_28_0 sensors_device_28_0 serial_device_28_0 socket_device_28_0 owntty_device_28_0 tty_device_28_0 video_device_28_0 vcs_device_28_0 zero_device_28_0 fuse_device_28_0 iio_device_28_0 ion_device_28_0 qtaguid_device_28_0 watchdog_device_28_0 uhid_device_28_0 uio_device_28_0 tun_device_28_0 usbaccessory_device_28_0 usb_device_28_0 properties_device_28_0 properties_serial_28_0 property_info_28_0 i2c_device_28_0 hci_attach_dev_28_0 rpmsg_device_28_0 root_block_device_28_0 frp_block_device_28_0 system_block_device_28_0 recovery_block_device_28_0 boot_block_device_28_0 userdata_block_device_28_0 cache_block_device_28_0 swap_block_device_28_0 metadata_block_device_28_0 misc_block_device_28_0 ppp_device_28_0 tee_device_28_0))
(typeattribute domain)
(typeattributeset domain (adbd_28_0 audioserver_28_0 blkid_28_0 blkid_untrusted_28_0 bluetooth_28_0 bootanim_28_0 bootstat_28_0 bufferhubd_28_0 cameraserver_28_0 charger_28_0 clatd_28_0 cppreopts_28_0 crash_dump_28_0 dex2oat_28_0 dhcp_28_0 dnsmasq_28_0 drmserver_28_0 dumpstate_28_0 e2fs_28_0 ephemeral_app_28_0 fingerprintd_28_0 fsck_28_0 fsck_untrusted_28_0 gatekeeperd_28_0 healthd_28_0 hwservicemanager_28_0 idmap_28_0 incident_28_0 incident_helper_28_0 incidentd_28_0 init_28_0 inputflinger_28_0 install_recovery_28_0 installd_28_0 isolated_app_28_0 kernel_28_0 keystore_28_0 lmkd_28_0 logd_28_0 logpersist_28_0 mdnsd_28_0 mediacodec_28_0 mediadrmserver_28_0 mediaextractor_28_0 mediametrics_28_0 mediaprovider_28_0 mediaserver_28_0 modprobe_28_0 mtp_28_0 netd_28_0 netutils_wrapper_28_0 nfc_28_0 otapreopt_chroot_28_0 otapreopt_slot_28_0 performanced_28_0 perfprofd_28_0 platform_app_28_0 postinstall_28_0 postinstall_dexopt_28_0 ppp_28_0 preopt2cachename_28_0 priv_app_28_0 profman_28_0 racoon_28_0 radio_28_0 recovery_28_0 recovery_persist_28_0 recovery_refresh_28_0 runas_28_0 sdcardd_28_0 secure_element_28_0 servicemanager_28_0 sgdisk_28_0 shared_relro_28_0 shell_28_0 slideshow_28_0 su_28_0 surfaceflinger_28_0 system_app_28_0 system_server_28_0 tee_28_0 thermalserviced_28_0 tombstoned_28_0 toolbox_28_0 traced_probes_28_0 traceur_app_28_0 tzdatacheck_28_0 ueventd_28_0 uncrypt_28_0 untrusted_app_28_0 untrusted_app_27_28_0 untrusted_app_25_28_0 untrusted_v2_app_28_0 update_engine_28_0 update_verifier_28_0 usbd_28_0 vdc_28_0 vendor_init_28_0 vendor_shell_28_0 virtual_touchpad_28_0 vndservicemanager_28_0 vold_28_0 vold_prepare_subdirs_28_0 vr_hwc_28_0 watchdogd_28_0 webview_zygote_28_0 wificond_28_0 wpantund_28_0 zygote_28_0))
(typeattribute fs_type)
(typeattributeset fs_type (device_28_0 labeledfs_28_0 pipefs_28_0 sockfs_28_0 rootfs_28_0 proc_28_0 proc_security_28_0 proc_drop_caches_28_0 proc_overcommit_memory_28_0 proc_min_free_order_shift_28_0 usermodehelper_28_0 sysfs_usermodehelper_28_0 qtaguid_proc_28_0 proc_qtaguid_stat_28_0 proc_bluetooth_writable_28_0 proc_abi_28_0 proc_asound_28_0 proc_buddyinfo_28_0 proc_cmdline_28_0 proc_cpuinfo_28_0 proc_dirty_28_0 proc_diskstats_28_0 proc_extra_free_kbytes_28_0 proc_filesystems_28_0 proc_hostname_28_0 proc_hung_task_28_0 proc_interrupts_28_0 proc_iomem_28_0 proc_kmsg_28_0 proc_loadavg_28_0 proc_max_map_count_28_0 proc_meminfo_28_0 proc_misc_28_0 proc_modules_28_0 proc_mounts_28_0 proc_net_28_0 proc_page_cluster_28_0 proc_pagetypeinfo_28_0 proc_panic_28_0 proc_perf_28_0 proc_pid_max_28_0 proc_pipe_conf_28_0 proc_random_28_0 proc_sched_28_0 proc_stat_28_0 proc_swaps_28_0 proc_sysrq_28_0 proc_timer_28_0 proc_tty_drivers_28_0 proc_uid_cputime_showstat_28_0 proc_uid_cputime_removeuid_28_0 proc_uid_io_stats_28_0 proc_uid_procstat_set_28_0 proc_uid_time_in_state_28_0 proc_uid_concurrent_active_time_28_0 proc_uid_concurrent_policy_time_28_0 proc_uid_cpupower_28_0 proc_uptime_28_0 proc_version_28_0 proc_vmallocinfo_28_0 proc_vmstat_28_0 proc_zoneinfo_28_0 selinuxfs_28_0 cgroup_28_0 cgroup_bpf_28_0 sysfs_28_0 sysfs_android_usb_28_0 sysfs_uio_28_0 sysfs_batteryinfo_28_0 sysfs_bluetooth_writable_28_0 sysfs_dm_28_0 sysfs_dt_firmware_android_28_0 sysfs_ipv4_28_0 sysfs_kernel_notes_28_0 sysfs_leds_28_0 sysfs_hwrandom_28_0 sysfs_nfc_power_writable_28_0 sysfs_wake_lock_28_0 sysfs_mac_address_28_0 sysfs_net_28_0 sysfs_power_28_0 sysfs_rtc_28_0 sysfs_switch_28_0 sysfs_usb_28_0 sysfs_wakeup_reasons_28_0 sysfs_fs_ext4_features_28_0 fs_bpf_28_0 configfs_28_0 sysfs_devices_system_cpu_28_0 sysfs_lowmemorykiller_28_0 sysfs_wlan_fwpath_28_0 sysfs_vibrator_28_0 sysfs_thermal_28_0 sysfs_zram_28_0 sysfs_zram_uevent_28_0 inotify_28_0 devpts_28_0 tmpfs_28_0 shm_28_0 mqueue_28_0 fuse_28_0 sdcardfs_28_0 vfat_28_0 exfat_28_0 debugfs_28_0 debugfs_mmc_28_0 debugfs_trace_marker_28_0 debugfs_tracing_28_0 debugfs_tracing_debug_28_0 debugfs_tracing_instances_28_0 debugfs_wakeup_sources_28_0 debugfs_wifi_tracing_28_0 pstorefs_28_0 functionfs_28_0 oemfs_28_0 usbfs_28_0 binfmt_miscfs_28_0 app_fusefs_28_0))
(typeattribute contextmount_type)
(typeattributeset contextmount_type (oemfs_28_0 app_fusefs_28_0))
(typeattribute file_type)
(typeattributeset file_type (adbd_exec_28_0 bootanim_exec_28_0 bootstat_exec_28_0 bufferhubd_exec_28_0 cameraserver_exec_28_0 clatd_exec_28_0 cppreopts_exec_28_0 crash_dump_exec_28_0 dex2oat_exec_28_0 dhcp_exec_28_0 dnsmasq_exec_28_0 drmserver_exec_28_0 drmserver_socket_28_0 dumpstate_exec_28_0 e2fs_exec_28_0 unlabeled_28_0 system_file_28_0 vendor_hal_file_28_0 vendor_file_28_0 vendor_app_file_28_0 vendor_configs_file_28_0 same_process_hal_file_28_0 vndk_sp_file_28_0 vendor_framework_file_28_0 vendor_overlay_file_28_0 metadata_file_28_0 vold_metadata_file_28_0 runtime_event_log_tags_file_28_0 logcat_exec_28_0 coredump_file_28_0 system_data_file_28_0 vendor_data_file_28_0 unencrypted_data_file_28_0 install_data_file_28_0 drm_data_file_28_0 adb_data_file_28_0 anr_data_file_28_0 tombstone_data_file_28_0 tombstone_wifi_data_file_28_0 apk_data_file_28_0 apk_tmp_file_28_0 apk_private_data_file_28_0 apk_private_tmp_file_28_0 dalvikcache_data_file_28_0 ota_data_file_28_0 ota_package_file_28_0 user_profile_data_file_28_0 profman_dump_data_file_28_0 resourcecache_data_file_28_0 shell_data_file_28_0 property_data_file_28_0 bootchart_data_file_28_0 heapdump_data_file_28_0 nativetest_data_file_28_0 ringtone_file_28_0 preloads_data_file_28_0 preloads_media_file_28_0 dhcp_data_file_28_0 mnt_media_rw_file_28_0 mnt_user_file_28_0 mnt_expand_file_28_0 storage_file_28_0 mnt_media_rw_stub_file_28_0 storage_stub_file_28_0 mnt_vendor_file_28_0 postinstall_mnt_dir_28_0 postinstall_file_28_0 adb_keys_file_28_0 audio_data_file_28_0 audioserver_data_file_28_0 bluetooth_data_file_28_0 bluetooth_logs_data_file_28_0 bootstat_data_file_28_0 boottrace_data_file_28_0 camera_data_file_28_0 gatekeeper_data_file_28_0 incident_data_file_28_0 keychain_data_file_28_0 keystore_data_file_28_0 media_data_file_28_0 media_rw_data_file_28_0 misc_user_data_file_28_0 net_data_file_28_0 network_watchlist_data_file_28_0 nfc_data_file_28_0 radio_data_file_28_0 recovery_data_file_28_0 shared_relro_file_28_0 systemkeys_data_file_28_0 textclassifier_data_file_28_0 trace_data_file_28_0 vpn_data_file_28_0 wifi_data_file_28_0 zoneinfo_data_file_28_0 vold_data_file_28_0 perfprofd_data_file_28_0 tee_data_file_28_0 update_engine_data_file_28_0 update_engine_log_data_file_28_0 method_trace_data_file_28_0 app_data_file_28_0 system_app_data_file_28_0 cache_file_28_0 cache_backup_file_28_0 cache_private_backup_file_28_0 cache_recovery_file_28_0 efs_file_28_0 wallpaper_file_28_0 shortcut_manager_icons_28_0 icon_file_28_0 asec_apk_file_28_0 asec_public_file_28_0 asec_image_file_28_0 backup_data_file_28_0 bluetooth_efs_file_28_0 fingerprintd_data_file_28_0 fingerprint_vendor_data_file_28_0 app_fuse_file_28_0 adbd_socket_28_0 bluetooth_socket_28_0 dnsproxyd_socket_28_0 dumpstate_socket_28_0 fwmarkd_socket_28_0 lmkd_socket_28_0 logd_socket_28_0 logdr_socket_28_0 logdw_socket_28_0 mdns_socket_28_0 mdnsd_socket_28_0 misc_logd_file_28_0 mtpd_socket_28_0 netd_socket_28_0 property_socket_28_0 racoon_socket_28_0 rild_socket_28_0 rild_debug_socket_28_0 system_wpa_socket_28_0 system_ndebug_socket_28_0 tombstoned_crash_socket_28_0 tombstoned_java_trace_socket_28_0 tombstoned_intercept_socket_28_0 traced_producer_socket_28_0 traced_consumer_socket_28_0 uncrypt_socket_28_0 wpa_socket_28_0 zygote_socket_28_0 gps_control_28_0 pdx_display_dir_28_0 pdx_performance_dir_28_0 pdx_bufferhub_dir_28_0 pdx_display_client_endpoint_socket_28_0 pdx_display_manager_endpoint_socket_28_0 pdx_display_screenshot_endpoint_socket_28_0 pdx_display_vsync_endpoint_socket_28_0 pdx_performance_client_endpoint_socket_28_0 pdx_bufferhub_client_endpoint_socket_28_0 file_contexts_file_28_0 mac_perms_file_28_0 property_contexts_file_28_0 seapp_contexts_file_28_0 sepolicy_file_28_0 service_contexts_file_28_0 nonplat_service_contexts_file_28_0 hwservice_contexts_file_28_0 vndservice_contexts_file_28_0 audiohal_data_file_28_0 fingerprintd_exec_28_0 fsck_exec_28_0 gatekeeperd_exec_28_0 healthd_exec_28_0 hwservicemanager_exec_28_0 idmap_exec_28_0 init_exec_28_0 inputflinger_exec_28_0 install_recovery_exec_28_0 installd_exec_28_0 keystore_exec_28_0 lmkd_exec_28_0 logd_exec_28_0 mediacodec_exec_28_0 mediadrmserver_exec_28_0 mediaextractor_exec_28_0 mediametrics_exec_28_0 mediaserver_exec_28_0 mtp_exec_28_0 netd_exec_28_0 netutils_wrapper_exec_28_0 otapreopt_chroot_exec_28_0 otapreopt_slot_exec_28_0 performanced_exec_28_0 perfprofd_exec_28_0 ppp_exec_28_0 preopt2cachename_exec_28_0 profman_exec_28_0 racoon_exec_28_0 recovery_persist_exec_28_0 recovery_refresh_exec_28_0 runas_exec_28_0 sdcardd_exec_28_0 servicemanager_exec_28_0 sgdisk_exec_28_0 shell_exec_28_0 su_exec_28_0 thermalserviced_exec_28_0 tombstoned_exec_28_0 toolbox_exec_28_0 tzdatacheck_exec_28_0 uncrypt_exec_28_0 update_engine_exec_28_0 update_verifier_exec_28_0 usbd_exec_28_0 vdc_exec_28_0 vendor_shell_exec_28_0 vendor_toolbox_exec_28_0 virtual_touchpad_exec_28_0 vold_exec_28_0 vold_prepare_subdirs_exec_28_0 vr_hwc_exec_28_0 webview_zygote_exec_28_0 wificond_exec_28_0 wpantund_exec_28_0 zygote_exec_28_0))
(typeattribute exec_type)
(typeattributeset exec_type (adbd_exec_28_0 bootanim_exec_28_0 bootstat_exec_28_0 bufferhubd_exec_28_0 cameraserver_exec_28_0 clatd_exec_28_0 cppreopts_exec_28_0 crash_dump_exec_28_0 dex2oat_exec_28_0 dhcp_exec_28_0 dnsmasq_exec_28_0 drmserver_exec_28_0 dumpstate_exec_28_0 e2fs_exec_28_0 logcat_exec_28_0 fingerprintd_exec_28_0 fsck_exec_28_0 gatekeeperd_exec_28_0 healthd_exec_28_0 hwservicemanager_exec_28_0 idmap_exec_28_0 init_exec_28_0 inputflinger_exec_28_0 install_recovery_exec_28_0 installd_exec_28_0 keystore_exec_28_0 lmkd_exec_28_0 logd_exec_28_0 mediacodec_exec_28_0 mediadrmserver_exec_28_0 mediaextractor_exec_28_0 mediametrics_exec_28_0 mediaserver_exec_28_0 mtp_exec_28_0 netd_exec_28_0 netutils_wrapper_exec_28_0 otapreopt_chroot_exec_28_0 otapreopt_slot_exec_28_0 performanced_exec_28_0 perfprofd_exec_28_0 ppp_exec_28_0 preopt2cachename_exec_28_0 profman_exec_28_0 racoon_exec_28_0 recovery_persist_exec_28_0 recovery_refresh_exec_28_0 runas_exec_28_0 sdcardd_exec_28_0 servicemanager_exec_28_0 sgdisk_exec_28_0 shell_exec_28_0 su_exec_28_0 thermalserviced_exec_28_0 tombstoned_exec_28_0 toolbox_exec_28_0 tzdatacheck_exec_28_0 uncrypt_exec_28_0 update_engine_exec_28_0 update_verifier_exec_28_0 usbd_exec_28_0 vdc_exec_28_0 vendor_shell_exec_28_0 vendor_toolbox_exec_28_0 virtual_touchpad_exec_28_0 vold_exec_28_0 vold_prepare_subdirs_exec_28_0 vr_hwc_exec_28_0 webview_zygote_exec_28_0 wificond_exec_28_0 wpantund_exec_28_0 zygote_exec_28_0))
(typeattribute data_file_type)
(expandtypeattribute (data_file_type) false)
(typeattributeset data_file_type (system_data_file_28_0 vendor_data_file_28_0 unencrypted_data_file_28_0 install_data_file_28_0 drm_data_file_28_0 adb_data_file_28_0 anr_data_file_28_0 tombstone_data_file_28_0 tombstone_wifi_data_file_28_0 apk_data_file_28_0 apk_tmp_file_28_0 apk_private_data_file_28_0 apk_private_tmp_file_28_0 dalvikcache_data_file_28_0 ota_data_file_28_0 ota_package_file_28_0 user_profile_data_file_28_0 profman_dump_data_file_28_0 resourcecache_data_file_28_0 shell_data_file_28_0 property_data_file_28_0 bootchart_data_file_28_0 heapdump_data_file_28_0 nativetest_data_file_28_0 ringtone_file_28_0 preloads_data_file_28_0 preloads_media_file_28_0 dhcp_data_file_28_0 adb_keys_file_28_0 audio_data_file_28_0 audioserver_data_file_28_0 bluetooth_data_file_28_0 bluetooth_logs_data_file_28_0 bootstat_data_file_28_0 boottrace_data_file_28_0 camera_data_file_28_0 gatekeeper_data_file_28_0 incident_data_file_28_0 keychain_data_file_28_0 keystore_data_file_28_0 media_data_file_28_0 media_rw_data_file_28_0 misc_user_data_file_28_0 net_data_file_28_0 network_watchlist_data_file_28_0 nfc_data_file_28_0 radio_data_file_28_0 recovery_data_file_28_0 shared_relro_file_28_0 systemkeys_data_file_28_0 textclassifier_data_file_28_0 trace_data_file_28_0 vpn_data_file_28_0 wifi_data_file_28_0 zoneinfo_data_file_28_0 vold_data_file_28_0 perfprofd_data_file_28_0 tee_data_file_28_0 update_engine_data_file_28_0 update_engine_log_data_file_28_0 method_trace_data_file_28_0 app_data_file_28_0 system_app_data_file_28_0 cache_file_28_0 cache_backup_file_28_0 cache_private_backup_file_28_0 cache_recovery_file_28_0 wallpaper_file_28_0 shortcut_manager_icons_28_0 icon_file_28_0 asec_apk_file_28_0 asec_public_file_28_0 asec_image_file_28_0 backup_data_file_28_0 fingerprintd_data_file_28_0 fingerprint_vendor_data_file_28_0 app_fuse_file_28_0 bluetooth_socket_28_0 misc_logd_file_28_0 system_wpa_socket_28_0 system_ndebug_socket_28_0 wpa_socket_28_0 audiohal_data_file_28_0))
(typeattribute core_data_file_type)
(expandtypeattribute (core_data_file_type) false)
(typeattributeset core_data_file_type (system_data_file_28_0 unencrypted_data_file_28_0 install_data_file_28_0 drm_data_file_28_0 adb_data_file_28_0 anr_data_file_28_0 tombstone_data_file_28_0 apk_data_file_28_0 apk_tmp_file_28_0 apk_private_data_file_28_0 apk_private_tmp_file_28_0 dalvikcache_data_file_28_0 ota_data_file_28_0 ota_package_file_28_0 user_profile_data_file_28_0 profman_dump_data_file_28_0 resourcecache_data_file_28_0 shell_data_file_28_0 property_data_file_28_0 bootchart_data_file_28_0 heapdump_data_file_28_0 nativetest_data_file_28_0 ringtone_file_28_0 preloads_data_file_28_0 preloads_media_file_28_0 dhcp_data_file_28_0 adb_keys_file_28_0 audio_data_file_28_0 audioserver_data_file_28_0 bluetooth_data_file_28_0 bluetooth_logs_data_file_28_0 bootstat_data_file_28_0 boottrace_data_file_28_0 camera_data_file_28_0 gatekeeper_data_file_28_0 incident_data_file_28_0 keychain_data_file_28_0 keystore_data_file_28_0 media_data_file_28_0 media_rw_data_file_28_0 misc_user_data_file_28_0 net_data_file_28_0 network_watchlist_data_file_28_0 nfc_data_file_28_0 radio_data_file_28_0 recovery_data_file_28_0 shared_relro_file_28_0 systemkeys_data_file_28_0 textclassifier_data_file_28_0 trace_data_file_28_0 vpn_data_file_28_0 wifi_data_file_28_0 zoneinfo_data_file_28_0 vold_data_file_28_0 perfprofd_data_file_28_0 update_engine_data_file_28_0 update_engine_log_data_file_28_0 method_trace_data_file_28_0 app_data_file_28_0 system_app_data_file_28_0 cache_file_28_0 cache_backup_file_28_0 cache_private_backup_file_28_0 cache_recovery_file_28_0 wallpaper_file_28_0 shortcut_manager_icons_28_0 icon_file_28_0 asec_apk_file_28_0 asec_public_file_28_0 asec_image_file_28_0 backup_data_file_28_0 fingerprintd_data_file_28_0 app_fuse_file_28_0 bluetooth_socket_28_0 misc_logd_file_28_0 system_wpa_socket_28_0 system_ndebug_socket_28_0 wpa_socket_28_0 audiohal_data_file_28_0))
(typeattribute vendor_file_type)
(typeattributeset vendor_file_type (vendor_hal_file_28_0 vendor_file_28_0 vendor_app_file_28_0 vendor_configs_file_28_0 same_process_hal_file_28_0 vndk_sp_file_28_0 vendor_framework_file_28_0 vendor_overlay_file_28_0 mediacodec_exec_28_0 vendor_shell_exec_28_0 vendor_toolbox_exec_28_0))
(typeattribute proc_type)
(expandtypeattribute (proc_type) false)
(typeattributeset proc_type (proc_28_0 proc_security_28_0 proc_drop_caches_28_0 proc_overcommit_memory_28_0 proc_min_free_order_shift_28_0 usermodehelper_28_0 qtaguid_proc_28_0 proc_qtaguid_stat_28_0 proc_bluetooth_writable_28_0 proc_abi_28_0 proc_asound_28_0 proc_buddyinfo_28_0 proc_cmdline_28_0 proc_cpuinfo_28_0 proc_dirty_28_0 proc_diskstats_28_0 proc_extra_free_kbytes_28_0 proc_filesystems_28_0 proc_hostname_28_0 proc_hung_task_28_0 proc_interrupts_28_0 proc_iomem_28_0 proc_kmsg_28_0 proc_loadavg_28_0 proc_max_map_count_28_0 proc_meminfo_28_0 proc_misc_28_0 proc_modules_28_0 proc_mounts_28_0 proc_net_28_0 proc_page_cluster_28_0 proc_pagetypeinfo_28_0 proc_panic_28_0 proc_perf_28_0 proc_pid_max_28_0 proc_pipe_conf_28_0 proc_random_28_0 proc_sched_28_0 proc_stat_28_0 proc_swaps_28_0 proc_sysrq_28_0 proc_timer_28_0 proc_tty_drivers_28_0 proc_uid_cputime_showstat_28_0 proc_uid_cputime_removeuid_28_0 proc_uid_io_stats_28_0 proc_uid_procstat_set_28_0 proc_uid_time_in_state_28_0 proc_uid_concurrent_active_time_28_0 proc_uid_concurrent_policy_time_28_0 proc_uid_cpupower_28_0 proc_uptime_28_0 proc_version_28_0 proc_vmallocinfo_28_0 proc_vmstat_28_0 proc_zoneinfo_28_0))
(typeattribute sysfs_type)
(typeattributeset sysfs_type (sysfs_usermodehelper_28_0 sysfs_28_0 sysfs_android_usb_28_0 sysfs_uio_28_0 sysfs_batteryinfo_28_0 sysfs_bluetooth_writable_28_0 sysfs_dm_28_0 sysfs_dt_firmware_android_28_0 sysfs_ipv4_28_0 sysfs_kernel_notes_28_0 sysfs_leds_28_0 sysfs_hwrandom_28_0 sysfs_nfc_power_writable_28_0 sysfs_wake_lock_28_0 sysfs_mac_address_28_0 sysfs_net_28_0 sysfs_power_28_0 sysfs_rtc_28_0 sysfs_switch_28_0 sysfs_usb_28_0 sysfs_wakeup_reasons_28_0 sysfs_fs_ext4_features_28_0 sysfs_devices_system_cpu_28_0 sysfs_lowmemorykiller_28_0 sysfs_wlan_fwpath_28_0 sysfs_vibrator_28_0 sysfs_thermal_28_0 sysfs_zram_28_0 sysfs_zram_uevent_28_0))
(typeattribute debugfs_type)
(typeattributeset debugfs_type (debugfs_28_0 debugfs_mmc_28_0 debugfs_trace_marker_28_0 debugfs_tracing_28_0 debugfs_tracing_debug_28_0 debugfs_tracing_instances_28_0 debugfs_wakeup_sources_28_0 debugfs_wifi_tracing_28_0))
(typeattribute sdcard_type)
(typeattributeset sdcard_type (fuse_28_0 sdcardfs_28_0 vfat_28_0 exfat_28_0))
(typeattribute node_type)
(typeattributeset node_type (node_28_0))
(typeattribute netif_type)
(typeattributeset netif_type (netif_28_0))
(typeattribute port_type)
(typeattributeset port_type (port_28_0))
(typeattribute property_type)
(typeattributeset property_type (audio_prop_28_0 boottime_prop_28_0 bluetooth_a2dp_offload_prop_28_0 bluetooth_prop_28_0 bootloader_boot_reason_prop_28_0 config_prop_28_0 cppreopt_prop_28_0 ctl_bootanim_prop_28_0 ctl_bugreport_prop_28_0 ctl_console_prop_28_0 ctl_default_prop_28_0 ctl_dumpstate_prop_28_0 ctl_fuse_prop_28_0 ctl_interface_restart_prop_28_0 ctl_interface_start_prop_28_0 ctl_interface_stop_prop_28_0 ctl_mdnsd_prop_28_0 ctl_restart_prop_28_0 ctl_rildaemon_prop_28_0 ctl_sigstop_prop_28_0 ctl_start_prop_28_0 ctl_stop_prop_28_0 dalvik_prop_28_0 debuggerd_prop_28_0 debug_prop_28_0 default_prop_28_0 device_logging_prop_28_0 dhcp_prop_28_0 dumpstate_options_prop_28_0 dumpstate_prop_28_0 exported_secure_prop_28_0 ffs_prop_28_0 fingerprint_prop_28_0 firstboot_prop_28_0 hwservicemanager_prop_28_0 last_boot_reason_prop_28_0 logd_prop_28_0 logpersistd_logging_prop_28_0 log_prop_28_0 log_tag_prop_28_0 lowpan_prop_28_0 mmc_prop_28_0 net_dns_prop_28_0 net_radio_prop_28_0 netd_stable_secret_prop_28_0 nfc_prop_28_0 overlay_prop_28_0 pan_result_prop_28_0 persist_debug_prop_28_0 persistent_properties_ready_prop_28_0 pm_prop_28_0 powerctl_prop_28_0 radio_prop_28_0 restorecon_prop_28_0 safemode_prop_28_0 serialno_prop_28_0 shell_prop_28_0 system_boot_reason_prop_28_0 system_prop_28_0 system_radio_prop_28_0 test_boot_reason_prop_28_0 traced_enabled_prop_28_0 vold_prop_28_0 wifi_log_prop_28_0 wifi_prop_28_0 vendor_security_patch_level_prop_28_0 exported_audio_prop_28_0 exported_bluetooth_prop_28_0 exported_config_prop_28_0 exported_dalvik_prop_28_0 exported_default_prop_28_0 exported_dumpstate_prop_28_0 exported_ffs_prop_28_0 exported_fingerprint_prop_28_0 exported_overlay_prop_28_0 exported_pm_prop_28_0 exported_radio_prop_28_0 exported_system_prop_28_0 exported_system_radio_prop_28_0 exported_vold_prop_28_0 exported_wifi_prop_28_0 exported2_config_prop_28_0 exported2_default_prop_28_0 exported2_radio_prop_28_0 exported2_system_prop_28_0 exported2_vold_prop_28_0 exported3_default_prop_28_0 exported3_radio_prop_28_0 exported3_system_prop_28_0 vendor_default_prop_28_0))
(typeattribute core_property_type)
(typeattributeset core_property_type (audio_prop_28_0 config_prop_28_0 cppreopt_prop_28_0 dalvik_prop_28_0 debuggerd_prop_28_0 debug_prop_28_0 default_prop_28_0 dhcp_prop_28_0 dumpstate_prop_28_0 ffs_prop_28_0 fingerprint_prop_28_0 logd_prop_28_0 net_radio_prop_28_0 nfc_prop_28_0 pan_result_prop_28_0 persist_debug_prop_28_0 powerctl_prop_28_0 radio_prop_28_0 restorecon_prop_28_0 shell_prop_28_0 system_prop_28_0 system_radio_prop_28_0 vold_prop_28_0))
(typeattribute log_property_type)
(typeattributeset log_property_type (log_prop_28_0 log_tag_prop_28_0 wifi_log_prop_28_0))
(typeattribute extended_core_property_type)
(typeattribute system_server_service)
(typeattributeset system_server_service (accessibility_service_28_0 account_service_28_0 activity_service_28_0 alarm_service_28_0 appops_service_28_0 appwidget_service_28_0 assetatlas_service_28_0 audio_service_28_0 autofill_service_28_0 backup_service_28_0 batterystats_service_28_0 battery_service_28_0 binder_calls_stats_service_28_0 bluetooth_manager_service_28_0 broadcastradio_service_28_0 cameraproxy_service_28_0 clipboard_service_28_0 contexthub_service_28_0 crossprofileapps_service_28_0 IProxyService_service_28_0 commontime_management_service_28_0 companion_device_service_28_0 connectivity_service_28_0 connmetrics_service_28_0 consumer_ir_service_28_0 content_service_28_0 country_detector_service_28_0 coverage_service_28_0 cpuinfo_service_28_0 dbinfo_service_28_0 device_policy_service_28_0 deviceidle_service_28_0 device_identifiers_service_28_0 devicestoragemonitor_service_28_0 diskstats_service_28_0 display_service_28_0 font_service_28_0 netd_listener_service_28_0 network_watchlist_service_28_0 DockObserver_service_28_0 dreams_service_28_0 dropbox_service_28_0 lowpan_service_28_0 ethernet_service_28_0 fingerprint_service_28_0 gfxinfo_service_28_0 graphicsstats_service_28_0 hardware_service_28_0 hardware_properties_service_28_0 hdmi_control_service_28_0 input_method_service_28_0 input_service_28_0 imms_service_28_0 ipsec_service_28_0 jobscheduler_service_28_0 launcherapps_service_28_0 location_service_28_0 lock_settings_service_28_0 media_projection_service_28_0 media_router_service_28_0 media_session_service_28_0 meminfo_service_28_0 midi_service_28_0 mount_service_28_0 netpolicy_service_28_0 netstats_service_28_0 network_management_service_28_0 network_score_service_28_0 network_time_update_service_28_0 notification_service_28_0 oem_lock_service_28_0 otadexopt_service_28_0 overlay_service_28_0 package_service_28_0 package_native_service_28_0 permission_service_28_0 persistent_data_block_service_28_0 pinner_service_28_0 power_service_28_0 print_service_28_0 processinfo_service_28_0 procstats_service_28_0 recovery_service_28_0 registry_service_28_0 restrictions_service_28_0 rttmanager_service_28_0 samplingprofiler_service_28_0 scheduling_policy_service_28_0 search_service_28_0 sec_key_att_app_id_provider_service_28_0 sensorservice_service_28_0 serial_service_28_0 servicediscovery_service_28_0 settings_service_28_0 shortcut_service_28_0 slice_service_28_0 statusbar_service_28_0 storagestats_service_28_0 system_update_service_28_0 task_service_28_0 textclassification_service_28_0 textservices_service_28_0 telecom_service_28_0 timezone_service_28_0 trust_service_28_0 tv_input_service_28_0 uimode_service_28_0 updatelock_service_28_0 usagestats_service_28_0 usb_service_28_0 user_service_28_0 vibrator_service_28_0 voiceinteraction_service_28_0 vr_manager_service_28_0 wallpaper_service_28_0 webviewupdate_service_28_0 wifip2p_service_28_0 wifiscanner_service_28_0 wifi_service_28_0 wifiaware_service_28_0 window_service_28_0))
(typeattribute app_api_service)
(typeattributeset app_api_service (batteryproperties_service_28_0 gatekeeper_service_28_0 surfaceflinger_service_28_0 accessibility_service_28_0 account_service_28_0 activity_service_28_0 alarm_service_28_0 appops_service_28_0 appwidget_service_28_0 assetatlas_service_28_0 audio_service_28_0 autofill_service_28_0 backup_service_28_0 batterystats_service_28_0 bluetooth_manager_service_28_0 clipboard_service_28_0 contexthub_service_28_0 crossprofileapps_service_28_0 IProxyService_service_28_0 companion_device_service_28_0 connectivity_service_28_0 connmetrics_service_28_0 consumer_ir_service_28_0 content_service_28_0 country_detector_service_28_0 device_policy_service_28_0 deviceidle_service_28_0 device_identifiers_service_28_0 display_service_28_0 font_service_28_0 dreams_service_28_0 dropbox_service_28_0 ethernet_service_28_0 fingerprint_service_28_0 graphicsstats_service_28_0 hardware_properties_service_28_0 input_method_service_28_0 input_service_28_0 imms_service_28_0 ipsec_service_28_0 jobscheduler_service_28_0 launcherapps_service_28_0 location_service_28_0 media_projection_service_28_0 media_router_service_28_0 media_session_service_28_0 midi_service_28_0 mount_service_28_0 netpolicy_service_28_0 netstats_service_28_0 network_management_service_28_0 notification_service_28_0 package_service_28_0 permission_service_28_0 power_service_28_0 print_service_28_0 procstats_service_28_0 registry_service_28_0 restrictions_service_28_0 rttmanager_service_28_0 search_service_28_0 sec_key_att_app_id_provider_service_28_0 sensorservice_service_28_0 servicediscovery_service_28_0 settings_service_28_0 shortcut_service_28_0 slice_service_28_0 statusbar_service_28_0 storagestats_service_28_0 textclassification_service_28_0 textservices_service_28_0 telecom_service_28_0 trust_service_28_0 tv_input_service_28_0 uimode_service_28_0 usagestats_service_28_0 usb_service_28_0 user_service_28_0 vibrator_service_28_0 voiceinteraction_service_28_0 wallpaper_service_28_0 webviewupdate_service_28_0 wifip2p_service_28_0 wifi_service_28_0 wifiaware_service_28_0))
(typeattribute ephemeral_app_api_service)
(typeattributeset ephemeral_app_api_service (batteryproperties_service_28_0 surfaceflinger_service_28_0 accessibility_service_28_0 account_service_28_0 activity_service_28_0 alarm_service_28_0 appops_service_28_0 appwidget_service_28_0 assetatlas_service_28_0 audio_service_28_0 autofill_service_28_0 backup_service_28_0 batterystats_service_28_0 bluetooth_manager_service_28_0 clipboard_service_28_0 IProxyService_service_28_0 companion_device_service_28_0 connectivity_service_28_0 connmetrics_service_28_0 consumer_ir_service_28_0 content_service_28_0 country_detector_service_28_0 deviceidle_service_28_0 device_identifiers_service_28_0 display_service_28_0 font_service_28_0 dreams_service_28_0 dropbox_service_28_0 graphicsstats_service_28_0 hardware_properties_service_28_0 input_method_service_28_0 input_service_28_0 imms_service_28_0 ipsec_service_28_0 jobscheduler_service_28_0 launcherapps_service_28_0 location_service_28_0 media_projection_service_28_0 media_router_service_28_0 media_session_service_28_0 midi_service_28_0 mount_service_28_0 netpolicy_service_28_0 netstats_service_28_0 network_management_service_28_0 notification_service_28_0 package_service_28_0 permission_service_28_0 power_service_28_0 print_service_28_0 procstats_service_28_0 registry_service_28_0 restrictions_service_28_0 rttmanager_service_28_0 search_service_28_0 sensorservice_service_28_0 servicediscovery_service_28_0 settings_service_28_0 statusbar_service_28_0 storagestats_service_28_0 textclassification_service_28_0 textservices_service_28_0 telecom_service_28_0 tv_input_service_28_0 uimode_service_28_0 usagestats_service_28_0 user_service_28_0 vibrator_service_28_0 voiceinteraction_service_28_0 webviewupdate_service_28_0))
(typeattribute system_api_service)
(typeattributeset system_api_service (cpuinfo_service_28_0 dbinfo_service_28_0 diskstats_service_28_0 lowpan_service_28_0 gfxinfo_service_28_0 hdmi_control_service_28_0 lock_settings_service_28_0 meminfo_service_28_0 network_score_service_28_0 oem_lock_service_28_0 overlay_service_28_0 persistent_data_block_service_28_0 serial_service_28_0 updatelock_service_28_0 wifiscanner_service_28_0 window_service_28_0 wpantund_service_28_0))
(typeattribute service_manager_type)
(typeattributeset service_manager_type (audioserver_service_28_0 batteryproperties_service_28_0 bluetooth_service_28_0 cameraserver_service_28_0 default_android_service_28_0 drmserver_service_28_0 dumpstate_service_28_0 fingerprintd_service_28_0 hal_fingerprint_service_28_0 gatekeeper_service_28_0 gpu_service_28_0 inputflinger_service_28_0 incident_service_28_0 installd_service_28_0 keystore_service_28_0 mediaserver_service_28_0 mediametrics_service_28_0 mediaextractor_service_28_0 mediaextractor_update_service_28_0 mediacodec_service_28_0 mediadrmserver_service_28_0 netd_service_28_0 nfc_service_28_0 perfprofd_service_28_0 radio_service_28_0 secure_element_service_28_0 storaged_service_28_0 surfaceflinger_service_28_0 system_app_service_28_0 thermal_service_28_0 update_engine_service_28_0 virtual_touchpad_service_28_0 vold_service_28_0 vr_hwc_service_28_0 accessibility_service_28_0 account_service_28_0 activity_service_28_0 alarm_service_28_0 appops_service_28_0 appwidget_service_28_0 assetatlas_service_28_0 audio_service_28_0 autofill_service_28_0 backup_service_28_0 batterystats_service_28_0 battery_service_28_0 binder_calls_stats_service_28_0 bluetooth_manager_service_28_0 broadcastradio_service_28_0 cameraproxy_service_28_0 clipboard_service_28_0 contexthub_service_28_0 crossprofileapps_service_28_0 IProxyService_service_28_0 commontime_management_service_28_0 companion_device_service_28_0 connectivity_service_28_0 connmetrics_service_28_0 consumer_ir_service_28_0 content_service_28_0 country_detector_service_28_0 coverage_service_28_0 cpuinfo_service_28_0 dbinfo_service_28_0 device_policy_service_28_0 deviceidle_service_28_0 device_identifiers_service_28_0 devicestoragemonitor_service_28_0 diskstats_service_28_0 display_service_28_0 font_service_28_0 netd_listener_service_28_0 network_watchlist_service_28_0 DockObserver_service_28_0 dreams_service_28_0 dropbox_service_28_0 lowpan_service_28_0 ethernet_service_28_0 fingerprint_service_28_0 gfxinfo_service_28_0 graphicsstats_service_28_0 hardware_service_28_0 hardware_properties_service_28_0 hdmi_control_service_28_0 input_method_service_28_0 input_service_28_0 imms_service_28_0 ipsec_service_28_0 jobscheduler_service_28_0 launcherapps_service_28_0 location_service_28_0 lock_settings_service_28_0 media_projection_service_28_0 media_router_service_28_0 media_session_service_28_0 meminfo_service_28_0 midi_service_28_0 mount_service_28_0 netpolicy_service_28_0 netstats_service_28_0 network_management_service_28_0 network_score_service_28_0 network_time_update_service_28_0 notification_service_28_0 oem_lock_service_28_0 otadexopt_service_28_0 overlay_service_28_0 package_service_28_0 package_native_service_28_0 permission_service_28_0 persistent_data_block_service_28_0 pinner_service_28_0 power_service_28_0 print_service_28_0 processinfo_service_28_0 procstats_service_28_0 recovery_service_28_0 registry_service_28_0 restrictions_service_28_0 rttmanager_service_28_0 samplingprofiler_service_28_0 scheduling_policy_service_28_0 search_service_28_0 sec_key_att_app_id_provider_service_28_0 sensorservice_service_28_0 serial_service_28_0 servicediscovery_service_28_0 settings_service_28_0 shortcut_service_28_0 slice_service_28_0 statusbar_service_28_0 storagestats_service_28_0 system_update_service_28_0 task_service_28_0 textclassification_service_28_0 textservices_service_28_0 telecom_service_28_0 timezone_service_28_0 trust_service_28_0 tv_input_service_28_0 uimode_service_28_0 updatelock_service_28_0 usagestats_service_28_0 usb_service_28_0 user_service_28_0 vibrator_service_28_0 voiceinteraction_service_28_0 vr_manager_service_28_0 wallpaper_service_28_0 webviewupdate_service_28_0 wifip2p_service_28_0 wifiscanner_service_28_0 wifi_service_28_0 wificond_service_28_0 wifiaware_service_28_0 window_service_28_0 wpantund_service_28_0))
(typeattribute hwservice_manager_type)
(typeattributeset hwservice_manager_type (default_android_hwservice_28_0 fwk_display_hwservice_28_0 fwk_scheduler_hwservice_28_0 fwk_sensor_hwservice_28_0 hal_audiocontrol_hwservice_28_0 hal_audio_hwservice_28_0 hal_authsecret_hwservice_28_0 hal_bluetooth_hwservice_28_0 hal_bootctl_hwservice_28_0 hal_broadcastradio_hwservice_28_0 hal_camera_hwservice_28_0 hal_codec2_hwservice_28_0 hal_configstore_ISurfaceFlingerConfigs_28_0 hal_confirmationui_hwservice_28_0 hal_contexthub_hwservice_28_0 hal_drm_hwservice_28_0 hal_cas_hwservice_28_0 hal_dumpstate_hwservice_28_0 hal_evs_hwservice_28_0 hal_fingerprint_hwservice_28_0 hal_gatekeeper_hwservice_28_0 hal_gnss_hwservice_28_0 hal_graphics_allocator_hwservice_28_0 hal_graphics_composer_hwservice_28_0 hal_graphics_mapper_hwservice_28_0 hal_health_hwservice_28_0 hal_ir_hwservice_28_0 hal_keymaster_hwservice_28_0 hal_light_hwservice_28_0 hal_lowpan_hwservice_28_0 hal_memtrack_hwservice_28_0 hal_neuralnetworks_hwservice_28_0 hal_nfc_hwservice_28_0 hal_oemlock_hwservice_28_0 hal_omx_hwservice_28_0 hal_power_hwservice_28_0 hal_renderscript_hwservice_28_0 hal_secure_element_hwservice_28_0 hal_sensors_hwservice_28_0 hal_telephony_hwservice_28_0 hal_tetheroffload_hwservice_28_0 hal_thermal_hwservice_28_0 hal_tv_cec_hwservice_28_0 hal_tv_input_hwservice_28_0 hal_usb_hwservice_28_0 hal_usb_gadget_hwservice_28_0 hal_vehicle_hwservice_28_0 hal_vibrator_hwservice_28_0 hal_vr_hwservice_28_0 hal_weaver_hwservice_28_0 hal_wifi_hwservice_28_0 hal_wifi_hostapd_hwservice_28_0 hal_wifi_offload_hwservice_28_0 hal_wifi_supplicant_hwservice_28_0 hidl_allocator_hwservice_28_0 hidl_base_hwservice_28_0 hidl_manager_hwservice_28_0 hidl_memory_hwservice_28_0 hidl_token_hwservice_28_0 system_net_netd_hwservice_28_0 system_wifi_keystore_hwservice_28_0 thermalcallback_hwservice_28_0))
(typeattribute same_process_hwservice)
(typeattributeset same_process_hwservice (hal_graphics_mapper_hwservice_28_0 hal_renderscript_hwservice_28_0))
(typeattribute coredomain_hwservice)
(typeattributeset coredomain_hwservice (fwk_display_hwservice_28_0 fwk_scheduler_hwservice_28_0 fwk_sensor_hwservice_28_0 hidl_allocator_hwservice_28_0 hidl_manager_hwservice_28_0 hidl_memory_hwservice_28_0 hidl_token_hwservice_28_0 system_net_netd_hwservice_28_0 system_wifi_keystore_hwservice_28_0))
(typeattribute vndservice_manager_type)
(typeattributeset vndservice_manager_type (default_android_vndservice_28_0))
(typeattribute mlstrustedsubject)
(typeattributeset mlstrustedsubject (bufferhubd_28_0 cppreopts_28_0 drmserver_28_0 dumpstate_28_0 pdx_display_client_endpoint_socket_28_0 pdx_display_manager_endpoint_socket_28_0 pdx_display_screenshot_endpoint_socket_28_0 pdx_display_vsync_endpoint_socket_28_0 pdx_performance_client_endpoint_socket_28_0 pdx_bufferhub_client_endpoint_socket_28_0 hwservicemanager_28_0 init_28_0 installd_28_0 kernel_28_0 keystore_28_0 lmkd_28_0 logd_28_0 mediacodec_28_0 mediadrmserver_28_0 mediaextractor_28_0 mediaserver_28_0 netd_28_0 otapreopt_slot_28_0 performanced_28_0 perfprofd_28_0 racoon_28_0 radio_28_0 runas_28_0 servicemanager_28_0 shell_28_0 su_28_0 tombstoned_28_0 traced_probes_28_0 uncrypt_28_0 vendor_init_28_0 vold_28_0))
(typeattribute mlstrustedobject)
(typeattributeset mlstrustedobject (alarm_device_28_0 ashmem_device_28_0 binder_device_28_0 hwbinder_device_28_0 pmsg_device_28_0 gpu_device_28_0 mtp_device_28_0 ptmx_device_28_0 null_device_28_0 random_device_28_0 owntty_device_28_0 zero_device_28_0 fuse_device_28_0 ion_device_28_0 tun_device_28_0 usbaccessory_device_28_0 usb_device_28_0 qtaguid_proc_28_0 proc_qtaguid_stat_28_0 selinuxfs_28_0 cgroup_28_0 sysfs_28_0 sysfs_bluetooth_writable_28_0 sysfs_kernel_notes_28_0 sysfs_nfc_power_writable_28_0 inotify_28_0 devpts_28_0 fuse_28_0 sdcardfs_28_0 vfat_28_0 exfat_28_0 debugfs_trace_marker_28_0 debugfs_tracing_28_0 debugfs_tracing_debug_28_0 functionfs_28_0 anr_data_file_28_0 tombstone_data_file_28_0 apk_tmp_file_28_0 apk_private_tmp_file_28_0 ota_package_file_28_0 user_profile_data_file_28_0 shell_data_file_28_0 heapdump_data_file_28_0 ringtone_file_28_0 media_rw_data_file_28_0 radio_data_file_28_0 trace_data_file_28_0 perfprofd_data_file_28_0 method_trace_data_file_28_0 system_app_data_file_28_0 cache_file_28_0 cache_backup_file_28_0 cache_recovery_file_28_0 wallpaper_file_28_0 shortcut_manager_icons_28_0 asec_apk_file_28_0 backup_data_file_28_0 app_fuse_file_28_0 dnsproxyd_socket_28_0 fwmarkd_socket_28_0 logd_socket_28_0 logdr_socket_28_0 logdw_socket_28_0 mdnsd_socket_28_0 property_socket_28_0 system_ndebug_socket_28_0 tombstoned_crash_socket_28_0 tombstoned_java_trace_socket_28_0 traced_producer_socket_28_0 pdx_display_client_endpoint_socket_28_0 pdx_display_manager_endpoint_socket_28_0 pdx_display_screenshot_endpoint_socket_28_0 pdx_display_vsync_endpoint_socket_28_0 pdx_performance_client_endpoint_socket_28_0 pdx_bufferhub_client_endpoint_socket_28_0))
(typeattribute appdomain)
(typeattribute untrusted_app_all)
(typeattribute netdomain)
(typeattributeset netdomain (clatd_28_0 dhcp_28_0 dnsmasq_28_0 drmserver_28_0 dumpstate_28_0 mediadrmserver_28_0 mediaserver_28_0 mtp_28_0 netd_28_0 ppp_28_0 racoon_28_0 radio_28_0 shell_28_0 su_28_0 update_engine_28_0 wpantund_28_0))
(typeattribute bluetoothdomain)
(typeattributeset bluetoothdomain (radio_28_0))
(typeattribute binderservicedomain)
(typeattributeset binderservicedomain (cameraserver_28_0 drmserver_28_0 gatekeeperd_28_0 inputflinger_28_0 keystore_28_0 mediadrmserver_28_0 mediaextractor_28_0 mediametrics_28_0 mediaserver_28_0 radio_28_0 thermalserviced_28_0 virtual_touchpad_28_0 vr_hwc_28_0))
(typeattribute update_engine_common)
(typeattributeset update_engine_common (update_engine_28_0))
(typeattribute coredomain)
(typeattributeset coredomain (e2fs_28_0 perfprofd_28_0 traced_probes_28_0 vold_prepare_subdirs_28_0))
(typeattribute coredomain_socket)
(expandtypeattribute (coredomain_socket) false)
(typeattributeset coredomain_socket (adbd_socket_28_0 bluetooth_socket_28_0 dnsproxyd_socket_28_0 dumpstate_socket_28_0 fwmarkd_socket_28_0 lmkd_socket_28_0 logd_socket_28_0 logdr_socket_28_0 logdw_socket_28_0 mdns_socket_28_0 mdnsd_socket_28_0 misc_logd_file_28_0 mtpd_socket_28_0 netd_socket_28_0 property_socket_28_0 racoon_socket_28_0 system_wpa_socket_28_0 system_ndebug_socket_28_0 tombstoned_crash_socket_28_0 tombstoned_intercept_socket_28_0 traced_producer_socket_28_0 traced_consumer_socket_28_0 uncrypt_socket_28_0 zygote_socket_28_0 pdx_display_client_endpoint_socket_28_0 pdx_display_client_channel_socket_28_0 pdx_display_manager_endpoint_socket_28_0 pdx_display_manager_channel_socket_28_0 pdx_display_screenshot_endpoint_socket_28_0 pdx_display_screenshot_channel_socket_28_0 pdx_display_vsync_endpoint_socket_28_0 pdx_display_vsync_channel_socket_28_0 pdx_performance_client_endpoint_socket_28_0 pdx_performance_client_channel_socket_28_0 pdx_bufferhub_client_endpoint_socket_28_0 pdx_bufferhub_client_channel_socket_28_0))
(typeattribute binder_in_vendor_violators)
(expandtypeattribute (binder_in_vendor_violators) false)
(typeattribute socket_between_core_and_vendor_violators)
(expandtypeattribute (socket_between_core_and_vendor_violators) false)
(typeattribute vendor_executes_system_violators)
(expandtypeattribute (vendor_executes_system_violators) false)
(typeattribute data_between_core_and_vendor_violators)
(expandtypeattribute (data_between_core_and_vendor_violators) false)
(typeattribute system_executes_vendor_violators)
(expandtypeattribute (system_executes_vendor_violators) false)
(typeattribute system_writes_vendor_properties_violators)
(expandtypeattribute (system_writes_vendor_properties_violators) false)
(typeattribute untrusted_app_visible_hwservice)
(expandtypeattribute (untrusted_app_visible_hwservice) false)
(typeattribute untrusted_app_visible_halserver)
(expandtypeattribute (untrusted_app_visible_halserver) false)
(typeattribute pdx_endpoint_dir_type)
(typeattributeset pdx_endpoint_dir_type (pdx_display_dir_28_0 pdx_performance_dir_28_0 pdx_bufferhub_dir_28_0))
(typeattribute pdx_endpoint_socket_type)
(expandtypeattribute (pdx_endpoint_socket_type) false)
(typeattributeset pdx_endpoint_socket_type (pdx_display_client_endpoint_socket_28_0 pdx_display_manager_endpoint_socket_28_0 pdx_display_screenshot_endpoint_socket_28_0 pdx_display_vsync_endpoint_socket_28_0 pdx_performance_client_endpoint_socket_28_0 pdx_bufferhub_client_endpoint_socket_28_0))
(typeattribute pdx_channel_socket_type)
(expandtypeattribute (pdx_channel_socket_type) false)
(typeattributeset pdx_channel_socket_type (pdx_display_client_channel_socket_28_0 pdx_display_manager_channel_socket_28_0 pdx_display_screenshot_channel_socket_28_0 pdx_display_vsync_channel_socket_28_0 pdx_performance_client_channel_socket_28_0 pdx_bufferhub_client_channel_socket_28_0))
(typeattribute pdx_display_client_endpoint_dir_type)
(typeattributeset pdx_display_client_endpoint_dir_type (pdx_display_dir_28_0))
(typeattribute pdx_display_client_endpoint_socket_type)
(typeattributeset pdx_display_client_endpoint_socket_type (pdx_display_client_endpoint_socket_28_0))
(typeattribute pdx_display_client_channel_socket_type)
(typeattributeset pdx_display_client_channel_socket_type (pdx_display_client_channel_socket_28_0))
(typeattribute pdx_display_client_server_type)
(typeattribute pdx_display_manager_endpoint_dir_type)
(typeattributeset pdx_display_manager_endpoint_dir_type (pdx_display_dir_28_0))
(typeattribute pdx_display_manager_endpoint_socket_type)
(typeattributeset pdx_display_manager_endpoint_socket_type (pdx_display_manager_endpoint_socket_28_0))
(typeattribute pdx_display_manager_channel_socket_type)
(typeattributeset pdx_display_manager_channel_socket_type (pdx_display_manager_channel_socket_28_0))
(typeattribute pdx_display_manager_server_type)
(typeattribute pdx_display_screenshot_endpoint_dir_type)
(typeattributeset pdx_display_screenshot_endpoint_dir_type (pdx_display_dir_28_0))
(typeattribute pdx_display_screenshot_endpoint_socket_type)
(typeattributeset pdx_display_screenshot_endpoint_socket_type (pdx_display_screenshot_endpoint_socket_28_0))
(typeattribute pdx_display_screenshot_channel_socket_type)
(typeattributeset pdx_display_screenshot_channel_socket_type (pdx_display_screenshot_channel_socket_28_0))
(typeattribute pdx_display_screenshot_server_type)
(typeattribute pdx_display_vsync_endpoint_dir_type)
(typeattributeset pdx_display_vsync_endpoint_dir_type (pdx_display_dir_28_0))
(typeattribute pdx_display_vsync_endpoint_socket_type)
(typeattributeset pdx_display_vsync_endpoint_socket_type (pdx_display_vsync_endpoint_socket_28_0))
(typeattribute pdx_display_vsync_channel_socket_type)
(typeattributeset pdx_display_vsync_channel_socket_type (pdx_display_vsync_channel_socket_28_0))
(typeattribute pdx_display_vsync_server_type)
(typeattribute pdx_performance_client_endpoint_dir_type)
(typeattributeset pdx_performance_client_endpoint_dir_type (pdx_performance_dir_28_0))
(typeattribute pdx_performance_client_endpoint_socket_type)
(typeattributeset pdx_performance_client_endpoint_socket_type (pdx_performance_client_endpoint_socket_28_0))
(typeattribute pdx_performance_client_channel_socket_type)
(typeattributeset pdx_performance_client_channel_socket_type (pdx_performance_client_channel_socket_28_0))
(typeattribute pdx_performance_client_server_type)
(typeattributeset pdx_performance_client_server_type (performanced_28_0))
(typeattribute pdx_bufferhub_client_endpoint_dir_type)
(typeattributeset pdx_bufferhub_client_endpoint_dir_type (pdx_bufferhub_dir_28_0))
(typeattribute pdx_bufferhub_client_endpoint_socket_type)
(typeattributeset pdx_bufferhub_client_endpoint_socket_type (pdx_bufferhub_client_endpoint_socket_28_0))
(typeattribute pdx_bufferhub_client_channel_socket_type)
(typeattributeset pdx_bufferhub_client_channel_socket_type (pdx_bufferhub_client_channel_socket_28_0))
(typeattribute pdx_bufferhub_client_server_type)
(typeattributeset pdx_bufferhub_client_server_type (bufferhubd_28_0))
(typeattribute halserverdomain)
(typeattribute halclientdomain)
(expandtypeattribute (halclientdomain) true)
(typeattributeset halclientdomain (bootanim_28_0 bufferhubd_28_0 cameraserver_28_0 dumpstate_28_0 gatekeeperd_28_0 healthd_28_0 mediacodec_28_0 mediadrmserver_28_0 mediaextractor_28_0 mediaserver_28_0 radio_28_0 su_28_0 thermalserviced_28_0 update_engine_28_0 update_verifier_28_0 vold_28_0 vr_hwc_28_0 wpantund_28_0))
(typeattribute hal_automotive_socket_exemption)
(typeattribute hal_audio)
(typeattribute hal_audio_client)
(expandtypeattribute (hal_audio_client) true)
(typeattributeset hal_audio_client (su_28_0))
(typeattribute hal_audio_server)
(expandtypeattribute (hal_audio_server) false)
(typeattribute hal_bootctl)
(typeattribute hal_bootctl_client)
(expandtypeattribute (hal_bootctl_client) true)
(typeattributeset hal_bootctl_client (su_28_0 update_engine_28_0 update_verifier_28_0))
(typeattribute hal_bootctl_server)
(expandtypeattribute (hal_bootctl_server) false)
(typeattribute hal_camera)
(typeattribute hal_camera_client)
(expandtypeattribute (hal_camera_client) true)
(typeattributeset hal_camera_client (cameraserver_28_0 su_28_0))
(typeattribute hal_camera_server)
(expandtypeattribute (hal_camera_server) false)
(typeattribute hal_drm)
(typeattribute hal_drm_client)
(expandtypeattribute (hal_drm_client) true)
(typeattributeset hal_drm_client (mediadrmserver_28_0 su_28_0))
(typeattribute hal_drm_server)
(expandtypeattribute (hal_drm_server) false)
(typeattribute hal_cas)
(typeattribute hal_cas_client)
(expandtypeattribute (hal_cas_client) true)
(typeattributeset hal_cas_client (mediacodec_28_0 mediaextractor_28_0 su_28_0))
(typeattribute hal_cas_server)
(expandtypeattribute (hal_cas_server) false)
(typeattribute hal_allocator)
(expandtypeattribute (hal_allocator) true)
(typeattribute hal_allocator_client)
(expandtypeattribute (hal_allocator_client) true)
(typeattributeset hal_allocator_client (mediacodec_28_0 mediaserver_28_0 su_28_0))
(typeattribute hal_allocator_server)
(expandtypeattribute (hal_allocator_server) false)
(typeattribute hal_audiocontrol)
(expandtypeattribute (hal_audiocontrol) true)
(typeattribute hal_audiocontrol_client)
(expandtypeattribute (hal_audiocontrol_client) true)
(typeattribute hal_audiocontrol_server)
(expandtypeattribute (hal_audiocontrol_server) false)
(typeattribute hal_authsecret)
(expandtypeattribute (hal_authsecret) true)
(typeattribute hal_authsecret_client)
(expandtypeattribute (hal_authsecret_client) true)
(typeattributeset hal_authsecret_client (su_28_0))
(typeattribute hal_authsecret_server)
(expandtypeattribute (hal_authsecret_server) false)
(typeattribute hal_bluetooth)
(expandtypeattribute (hal_bluetooth) true)
(typeattribute hal_bluetooth_client)
(expandtypeattribute (hal_bluetooth_client) true)
(typeattributeset hal_bluetooth_client (su_28_0))
(typeattribute hal_bluetooth_server)
(expandtypeattribute (hal_bluetooth_server) false)
(typeattribute hal_broadcastradio)
(expandtypeattribute (hal_broadcastradio) true)
(typeattribute hal_broadcastradio_client)
(expandtypeattribute (hal_broadcastradio_client) true)
(typeattribute hal_broadcastradio_server)
(expandtypeattribute (hal_broadcastradio_server) false)
(typeattribute hal_configstore)
(expandtypeattribute (hal_configstore) true)
(typeattribute hal_configstore_client)
(expandtypeattribute (hal_configstore_client) true)
(typeattributeset hal_configstore_client (bootanim_28_0 su_28_0))
(typeattribute hal_configstore_server)
(expandtypeattribute (hal_configstore_server) false)
(typeattribute hal_confirmationui)
(expandtypeattribute (hal_confirmationui) true)
(typeattribute hal_confirmationui_client)
(expandtypeattribute (hal_confirmationui_client) true)
(typeattributeset hal_confirmationui_client (su_28_0))
(typeattribute hal_confirmationui_server)
(expandtypeattribute (hal_confirmationui_server) false)
(typeattribute hal_contexthub)
(expandtypeattribute (hal_contexthub) true)
(typeattribute hal_contexthub_client)
(expandtypeattribute (hal_contexthub_client) true)
(typeattributeset hal_contexthub_client (su_28_0))
(typeattribute hal_contexthub_server)
(expandtypeattribute (hal_contexthub_server) false)
(typeattribute hal_dumpstate)
(expandtypeattribute (hal_dumpstate) true)
(typeattribute hal_dumpstate_client)
(expandtypeattribute (hal_dumpstate_client) true)
(typeattributeset hal_dumpstate_client (dumpstate_28_0 su_28_0))
(typeattribute hal_dumpstate_server)
(expandtypeattribute (hal_dumpstate_server) false)
(typeattribute hal_evs)
(expandtypeattribute (hal_evs) true)
(typeattribute hal_evs_client)
(expandtypeattribute (hal_evs_client) true)
(typeattribute hal_evs_server)
(expandtypeattribute (hal_evs_server) false)
(typeattribute hal_fingerprint)
(expandtypeattribute (hal_fingerprint) true)
(typeattribute hal_fingerprint_client)
(expandtypeattribute (hal_fingerprint_client) true)
(typeattributeset hal_fingerprint_client (su_28_0))
(typeattribute hal_fingerprint_server)
(expandtypeattribute (hal_fingerprint_server) false)
(typeattribute hal_gatekeeper)
(expandtypeattribute (hal_gatekeeper) true)
(typeattribute hal_gatekeeper_client)
(expandtypeattribute (hal_gatekeeper_client) true)
(typeattributeset hal_gatekeeper_client (gatekeeperd_28_0 su_28_0))
(typeattribute hal_gatekeeper_server)
(expandtypeattribute (hal_gatekeeper_server) false)
(typeattribute hal_gnss)
(expandtypeattribute (hal_gnss) true)
(typeattribute hal_gnss_client)
(expandtypeattribute (hal_gnss_client) true)
(typeattributeset hal_gnss_client (su_28_0))
(typeattribute hal_gnss_server)
(expandtypeattribute (hal_gnss_server) false)
(typeattribute hal_graphics_allocator)
(expandtypeattribute (hal_graphics_allocator) true)
(typeattribute hal_graphics_allocator_client)
(expandtypeattribute (hal_graphics_allocator_client) true)
(typeattributeset hal_graphics_allocator_client (bootanim_28_0 bufferhubd_28_0 cameraserver_28_0 dumpstate_28_0 mediacodec_28_0 su_28_0 vr_hwc_28_0))
(typeattribute hal_graphics_allocator_server)
(expandtypeattribute (hal_graphics_allocator_server) false)
(typeattribute hal_graphics_composer)
(expandtypeattribute (hal_graphics_composer) true)
(typeattribute hal_graphics_composer_client)
(expandtypeattribute (hal_graphics_composer_client) true)
(typeattributeset hal_graphics_composer_client (bootanim_28_0 su_28_0))
(typeattribute hal_graphics_composer_server)
(expandtypeattribute (hal_graphics_composer_server) false)
(typeattribute hal_health)
(expandtypeattribute (hal_health) true)
(typeattribute hal_health_client)
(expandtypeattribute (hal_health_client) true)
(typeattributeset hal_health_client (healthd_28_0 su_28_0))
(typeattribute hal_health_server)
(expandtypeattribute (hal_health_server) false)
(typeattribute hal_ir)
(expandtypeattribute (hal_ir) true)
(typeattribute hal_ir_client)
(expandtypeattribute (hal_ir_client) true)
(typeattributeset hal_ir_client (su_28_0))
(typeattribute hal_ir_server)
(expandtypeattribute (hal_ir_server) false)
(typeattribute hal_keymaster)
(expandtypeattribute (hal_keymaster) true)
(typeattribute hal_keymaster_client)
(expandtypeattribute (hal_keymaster_client) true)
(typeattributeset hal_keymaster_client (su_28_0 vold_28_0))
(typeattribute hal_keymaster_server)
(expandtypeattribute (hal_keymaster_server) false)
(typeattribute hal_light)
(expandtypeattribute (hal_light) true)
(typeattribute hal_light_client)
(expandtypeattribute (hal_light_client) true)
(typeattributeset hal_light_client (su_28_0))
(typeattribute hal_light_server)
(expandtypeattribute (hal_light_server) false)
(typeattribute hal_lowpan)
(expandtypeattribute (hal_lowpan) true)
(typeattribute hal_lowpan_client)
(expandtypeattribute (hal_lowpan_client) true)
(typeattributeset hal_lowpan_client (wpantund_28_0))
(typeattribute hal_lowpan_server)
(expandtypeattribute (hal_lowpan_server) false)
(typeattribute hal_memtrack)
(expandtypeattribute (hal_memtrack) true)
(typeattribute hal_memtrack_client)
(expandtypeattribute (hal_memtrack_client) true)
(typeattributeset hal_memtrack_client (su_28_0))
(typeattribute hal_memtrack_server)
(expandtypeattribute (hal_memtrack_server) false)
(typeattribute hal_neuralnetworks)
(expandtypeattribute (hal_neuralnetworks) true)
(typeattribute hal_neuralnetworks_client)
(expandtypeattribute (hal_neuralnetworks_client) true)
(typeattributeset hal_neuralnetworks_client (su_28_0))
(typeattribute hal_neuralnetworks_server)
(expandtypeattribute (hal_neuralnetworks_server) false)
(typeattribute hal_nfc)
(expandtypeattribute (hal_nfc) true)
(typeattribute hal_nfc_client)
(expandtypeattribute (hal_nfc_client) true)
(typeattributeset hal_nfc_client (su_28_0))
(typeattribute hal_nfc_server)
(expandtypeattribute (hal_nfc_server) false)
(typeattribute hal_oemlock)
(expandtypeattribute (hal_oemlock) true)
(typeattribute hal_oemlock_client)
(expandtypeattribute (hal_oemlock_client) true)
(typeattributeset hal_oemlock_client (su_28_0))
(typeattribute hal_oemlock_server)
(expandtypeattribute (hal_oemlock_server) false)
(typeattribute hal_power)
(expandtypeattribute (hal_power) true)
(typeattribute hal_power_client)
(expandtypeattribute (hal_power_client) true)
(typeattributeset hal_power_client (su_28_0))
(typeattribute hal_power_server)
(expandtypeattribute (hal_power_server) false)
(typeattribute hal_secure_element)
(expandtypeattribute (hal_secure_element) true)
(typeattribute hal_secure_element_client)
(expandtypeattribute (hal_secure_element_client) true)
(typeattributeset hal_secure_element_client (su_28_0))
(typeattribute hal_secure_element_server)
(expandtypeattribute (hal_secure_element_server) false)
(typeattribute hal_sensors)
(expandtypeattribute (hal_sensors) true)
(typeattribute hal_sensors_client)
(expandtypeattribute (hal_sensors_client) true)
(typeattributeset hal_sensors_client (su_28_0))
(typeattribute hal_sensors_server)
(expandtypeattribute (hal_sensors_server) false)
(typeattribute hal_telephony)
(expandtypeattribute (hal_telephony) true)
(typeattribute hal_telephony_client)
(expandtypeattribute (hal_telephony_client) true)
(typeattributeset hal_telephony_client (radio_28_0 su_28_0))
(typeattribute hal_telephony_server)
(expandtypeattribute (hal_telephony_server) false)
(typeattribute hal_tetheroffload)
(expandtypeattribute (hal_tetheroffload) true)
(typeattribute hal_tetheroffload_client)
(expandtypeattribute (hal_tetheroffload_client) true)
(typeattributeset hal_tetheroffload_client (su_28_0))
(typeattribute hal_tetheroffload_server)
(expandtypeattribute (hal_tetheroffload_server) false)
(typeattribute hal_thermal)
(expandtypeattribute (hal_thermal) true)
(typeattribute hal_thermal_client)
(expandtypeattribute (hal_thermal_client) true)
(typeattributeset hal_thermal_client (su_28_0 thermalserviced_28_0))
(typeattribute hal_thermal_server)
(expandtypeattribute (hal_thermal_server) false)
(typeattribute hal_tv_cec)
(expandtypeattribute (hal_tv_cec) true)
(typeattribute hal_tv_cec_client)
(expandtypeattribute (hal_tv_cec_client) true)
(typeattributeset hal_tv_cec_client (su_28_0))
(typeattribute hal_tv_cec_server)
(expandtypeattribute (hal_tv_cec_server) false)
(typeattribute hal_tv_input)
(expandtypeattribute (hal_tv_input) true)
(typeattribute hal_tv_input_client)
(expandtypeattribute (hal_tv_input_client) true)
(typeattributeset hal_tv_input_client (su_28_0))
(typeattribute hal_tv_input_server)
(expandtypeattribute (hal_tv_input_server) false)
(typeattribute hal_usb)
(expandtypeattribute (hal_usb) true)
(typeattribute hal_usb_client)
(expandtypeattribute (hal_usb_client) true)
(typeattributeset hal_usb_client (su_28_0))
(typeattribute hal_usb_server)
(expandtypeattribute (hal_usb_server) false)
(typeattribute hal_usb_gadget)
(expandtypeattribute (hal_usb_gadget) true)
(typeattribute hal_usb_gadget_client)
(expandtypeattribute (hal_usb_gadget_client) true)
(typeattribute hal_usb_gadget_server)
(expandtypeattribute (hal_usb_gadget_server) false)
(typeattribute hal_vehicle)
(expandtypeattribute (hal_vehicle) true)
(typeattribute hal_vehicle_client)
(expandtypeattribute (hal_vehicle_client) true)
(typeattribute hal_vehicle_server)
(expandtypeattribute (hal_vehicle_server) false)
(typeattribute hal_vibrator)
(expandtypeattribute (hal_vibrator) true)
(typeattribute hal_vibrator_client)
(expandtypeattribute (hal_vibrator_client) true)
(typeattributeset hal_vibrator_client (dumpstate_28_0 su_28_0))
(typeattribute hal_vibrator_server)
(expandtypeattribute (hal_vibrator_server) false)
(typeattribute hal_vr)
(expandtypeattribute (hal_vr) true)
(typeattribute hal_vr_client)
(expandtypeattribute (hal_vr_client) true)
(typeattributeset hal_vr_client (su_28_0))
(typeattribute hal_vr_server)
(expandtypeattribute (hal_vr_server) false)
(typeattribute hal_weaver)
(expandtypeattribute (hal_weaver) true)
(typeattribute hal_weaver_client)
(expandtypeattribute (hal_weaver_client) true)
(typeattributeset hal_weaver_client (su_28_0))
(typeattribute hal_weaver_server)
(expandtypeattribute (hal_weaver_server) false)
(typeattribute hal_wifi)
(expandtypeattribute (hal_wifi) true)
(typeattribute hal_wifi_client)
(expandtypeattribute (hal_wifi_client) true)
(typeattributeset hal_wifi_client (su_28_0))
(typeattribute hal_wifi_server)
(expandtypeattribute (hal_wifi_server) false)
(typeattribute hal_wifi_hostapd)
(expandtypeattribute (hal_wifi_hostapd) true)
(typeattribute hal_wifi_hostapd_client)
(expandtypeattribute (hal_wifi_hostapd_client) true)
(typeattributeset hal_wifi_hostapd_client (su_28_0))
(typeattribute hal_wifi_hostapd_server)
(expandtypeattribute (hal_wifi_hostapd_server) false)
(typeattribute hal_wifi_offload)
(expandtypeattribute (hal_wifi_offload) true)
(typeattribute hal_wifi_offload_client)
(expandtypeattribute (hal_wifi_offload_client) true)
(typeattributeset hal_wifi_offload_client (su_28_0))
(typeattribute hal_wifi_offload_server)
(expandtypeattribute (hal_wifi_offload_server) false)
(typeattribute hal_wifi_supplicant)
(expandtypeattribute (hal_wifi_supplicant) true)
(typeattribute hal_wifi_supplicant_client)
(expandtypeattribute (hal_wifi_supplicant_client) true)
(typeattributeset hal_wifi_supplicant_client (su_28_0))
(typeattribute hal_wifi_supplicant_server)
(expandtypeattribute (hal_wifi_supplicant_server) false)
(typeattribute display_service_server)
(typeattribute wifi_keystore_service_server)
(type adbd)
(typeattribute adbd_28_0)
(roletype object_r adbd_28_0)
(type adbd_exec)
(typeattribute adbd_exec_28_0)
(roletype object_r adbd_exec_28_0)
(type audioserver)
(typeattribute audioserver_28_0)
(roletype object_r audioserver_28_0)
(type blkid)
(typeattribute blkid_28_0)
(roletype object_r blkid_28_0)
(type blkid_untrusted)
(typeattribute blkid_untrusted_28_0)
(roletype object_r blkid_untrusted_28_0)
(type bluetooth)
(typeattribute bluetooth_28_0)
(roletype object_r bluetooth_28_0)
(type bootanim)
(typeattribute bootanim_28_0)
(roletype object_r bootanim_28_0)
(type bootanim_exec)
(typeattribute bootanim_exec_28_0)
(roletype object_r bootanim_exec_28_0)
(type bootstat)
(typeattribute bootstat_28_0)
(roletype object_r bootstat_28_0)
(type bootstat_exec)
(typeattribute bootstat_exec_28_0)
(roletype object_r bootstat_exec_28_0)
(type bufferhubd)
(typeattribute bufferhubd_28_0)
(roletype object_r bufferhubd_28_0)
(type bufferhubd_exec)
(typeattribute bufferhubd_exec_28_0)
(roletype object_r bufferhubd_exec_28_0)
(type cameraserver)
(typeattribute cameraserver_28_0)
(roletype object_r cameraserver_28_0)
(type cameraserver_exec)
(typeattribute cameraserver_exec_28_0)
(roletype object_r cameraserver_exec_28_0)
(type charger)
(typeattribute charger_28_0)
(roletype object_r charger_28_0)
(type clatd)
(typeattribute clatd_28_0)
(roletype object_r clatd_28_0)
(type clatd_exec)
(typeattribute clatd_exec_28_0)
(roletype object_r clatd_exec_28_0)
(type cppreopts)
(typeattribute cppreopts_28_0)
(roletype object_r cppreopts_28_0)
(type cppreopts_exec)
(typeattribute cppreopts_exec_28_0)
(roletype object_r cppreopts_exec_28_0)
(type crash_dump)
(typeattribute crash_dump_28_0)
(roletype object_r crash_dump_28_0)
(type crash_dump_exec)
(typeattribute crash_dump_exec_28_0)
(roletype object_r crash_dump_exec_28_0)
(type device)
(typeattribute device_28_0)
(roletype object_r device_28_0)
(type alarm_device)
(typeattribute alarm_device_28_0)
(roletype object_r alarm_device_28_0)
(type ashmem_device)
(typeattribute ashmem_device_28_0)
(roletype object_r ashmem_device_28_0)
(type audio_device)
(typeattribute audio_device_28_0)
(roletype object_r audio_device_28_0)
(type audio_timer_device)
(typeattribute audio_timer_device_28_0)
(roletype object_r audio_timer_device_28_0)
(type audio_seq_device)
(typeattribute audio_seq_device_28_0)
(roletype object_r audio_seq_device_28_0)
(type binder_device)
(typeattribute binder_device_28_0)
(roletype object_r binder_device_28_0)
(type hwbinder_device)
(typeattribute hwbinder_device_28_0)
(roletype object_r hwbinder_device_28_0)
(type vndbinder_device)
(typeattribute vndbinder_device_28_0)
(roletype object_r vndbinder_device_28_0)
(type block_device)
(typeattribute block_device_28_0)
(roletype object_r block_device_28_0)
(type camera_device)
(typeattribute camera_device_28_0)
(roletype object_r camera_device_28_0)
(type dm_device)
(typeattribute dm_device_28_0)
(roletype object_r dm_device_28_0)
(type keychord_device)
(typeattribute keychord_device_28_0)
(roletype object_r keychord_device_28_0)
(type loop_control_device)
(typeattribute loop_control_device_28_0)
(roletype object_r loop_control_device_28_0)
(type loop_device)
(typeattribute loop_device_28_0)
(roletype object_r loop_device_28_0)
(type pmsg_device)
(typeattribute pmsg_device_28_0)
(roletype object_r pmsg_device_28_0)
(type radio_device)
(typeattribute radio_device_28_0)
(roletype object_r radio_device_28_0)
(type ram_device)
(typeattribute ram_device_28_0)
(roletype object_r ram_device_28_0)
(type rtc_device)
(typeattribute rtc_device_28_0)
(roletype object_r rtc_device_28_0)
(type vold_device)
(typeattribute vold_device_28_0)
(roletype object_r vold_device_28_0)
(type console_device)
(typeattribute console_device_28_0)
(roletype object_r console_device_28_0)
(type cpuctl_device)
(typeattribute cpuctl_device_28_0)
(roletype object_r cpuctl_device_28_0)
(type fscklogs)
(typeattribute fscklogs_28_0)
(roletype object_r fscklogs_28_0)
(type full_device)
(typeattribute full_device_28_0)
(roletype object_r full_device_28_0)
(type gpu_device)
(typeattribute gpu_device_28_0)
(roletype object_r gpu_device_28_0)
(type graphics_device)
(typeattribute graphics_device_28_0)
(roletype object_r graphics_device_28_0)
(type hw_random_device)
(typeattribute hw_random_device_28_0)
(roletype object_r hw_random_device_28_0)
(type input_device)
(typeattribute input_device_28_0)
(roletype object_r input_device_28_0)
(type kmem_device)
(typeattribute kmem_device_28_0)
(roletype object_r kmem_device_28_0)
(type port_device)
(typeattribute port_device_28_0)
(roletype object_r port_device_28_0)
(type lowpan_device)
(typeattribute lowpan_device_28_0)
(roletype object_r lowpan_device_28_0)
(type mtd_device)
(typeattribute mtd_device_28_0)
(roletype object_r mtd_device_28_0)
(type mtp_device)
(typeattribute mtp_device_28_0)
(roletype object_r mtp_device_28_0)
(type nfc_device)
(typeattribute nfc_device_28_0)
(roletype object_r nfc_device_28_0)
(type ptmx_device)
(typeattribute ptmx_device_28_0)
(roletype object_r ptmx_device_28_0)
(type kmsg_device)
(typeattribute kmsg_device_28_0)
(roletype object_r kmsg_device_28_0)
(type kmsg_debug_device)
(typeattribute kmsg_debug_device_28_0)
(roletype object_r kmsg_debug_device_28_0)
(type null_device)
(typeattribute null_device_28_0)
(roletype object_r null_device_28_0)
(type random_device)
(typeattribute random_device_28_0)
(roletype object_r random_device_28_0)
(type secure_element_device)
(typeattribute secure_element_device_28_0)
(roletype object_r secure_element_device_28_0)
(type sensors_device)
(typeattribute sensors_device_28_0)
(roletype object_r sensors_device_28_0)
(type serial_device)
(typeattribute serial_device_28_0)
(roletype object_r serial_device_28_0)
(type socket_device)
(typeattribute socket_device_28_0)
(roletype object_r socket_device_28_0)
(type owntty_device)
(typeattribute owntty_device_28_0)
(roletype object_r owntty_device_28_0)
(type tty_device)
(typeattribute tty_device_28_0)
(roletype object_r tty_device_28_0)
(type video_device)
(typeattribute video_device_28_0)
(roletype object_r video_device_28_0)
(type vcs_device)
(typeattribute vcs_device_28_0)
(roletype object_r vcs_device_28_0)
(type zero_device)
(typeattribute zero_device_28_0)
(roletype object_r zero_device_28_0)
(type fuse_device)
(typeattribute fuse_device_28_0)
(roletype object_r fuse_device_28_0)
(type iio_device)
(typeattribute iio_device_28_0)
(roletype object_r iio_device_28_0)
(type ion_device)
(typeattribute ion_device_28_0)
(roletype object_r ion_device_28_0)
(type qtaguid_device)
(typeattribute qtaguid_device_28_0)
(roletype object_r qtaguid_device_28_0)
(type watchdog_device)
(typeattribute watchdog_device_28_0)
(roletype object_r watchdog_device_28_0)
(type uhid_device)
(typeattribute uhid_device_28_0)
(roletype object_r uhid_device_28_0)
(type uio_device)
(typeattribute uio_device_28_0)
(roletype object_r uio_device_28_0)
(type tun_device)
(typeattribute tun_device_28_0)
(roletype object_r tun_device_28_0)
(type usbaccessory_device)
(typeattribute usbaccessory_device_28_0)
(roletype object_r usbaccessory_device_28_0)
(type usb_device)
(typeattribute usb_device_28_0)
(roletype object_r usb_device_28_0)
(type properties_device)
(typeattribute properties_device_28_0)
(roletype object_r properties_device_28_0)
(type properties_serial)
(typeattribute properties_serial_28_0)
(roletype object_r properties_serial_28_0)
(type property_info)
(typeattribute property_info_28_0)
(roletype object_r property_info_28_0)
(type i2c_device)
(typeattribute i2c_device_28_0)
(roletype object_r i2c_device_28_0)
(type hci_attach_dev)
(typeattribute hci_attach_dev_28_0)
(roletype object_r hci_attach_dev_28_0)
(type rpmsg_device)
(typeattribute rpmsg_device_28_0)
(roletype object_r rpmsg_device_28_0)
(type root_block_device)
(typeattribute root_block_device_28_0)
(roletype object_r root_block_device_28_0)
(type frp_block_device)
(typeattribute frp_block_device_28_0)
(roletype object_r frp_block_device_28_0)
(type system_block_device)
(typeattribute system_block_device_28_0)
(roletype object_r system_block_device_28_0)
(type recovery_block_device)
(typeattribute recovery_block_device_28_0)
(roletype object_r recovery_block_device_28_0)
(type boot_block_device)
(typeattribute boot_block_device_28_0)
(roletype object_r boot_block_device_28_0)
(type userdata_block_device)
(typeattribute userdata_block_device_28_0)
(roletype object_r userdata_block_device_28_0)
(type cache_block_device)
(typeattribute cache_block_device_28_0)
(roletype object_r cache_block_device_28_0)
(type swap_block_device)
(typeattribute swap_block_device_28_0)
(roletype object_r swap_block_device_28_0)
(type metadata_block_device)
(typeattribute metadata_block_device_28_0)
(roletype object_r metadata_block_device_28_0)
(type misc_block_device)
(typeattribute misc_block_device_28_0)
(roletype object_r misc_block_device_28_0)
(type dex2oat)
(typeattribute dex2oat_28_0)
(roletype object_r dex2oat_28_0)
(type dex2oat_exec)
(typeattribute dex2oat_exec_28_0)
(roletype object_r dex2oat_exec_28_0)
(type dhcp)
(typeattribute dhcp_28_0)
(roletype object_r dhcp_28_0)
(type dhcp_exec)
(typeattribute dhcp_exec_28_0)
(roletype object_r dhcp_exec_28_0)
(type dnsmasq)
(typeattribute dnsmasq_28_0)
(roletype object_r dnsmasq_28_0)
(type dnsmasq_exec)
(typeattribute dnsmasq_exec_28_0)
(roletype object_r dnsmasq_exec_28_0)
(type drmserver)
(typeattribute drmserver_28_0)
(roletype object_r drmserver_28_0)
(type drmserver_exec)
(typeattribute drmserver_exec_28_0)
(roletype object_r drmserver_exec_28_0)
(type drmserver_socket)
(typeattribute drmserver_socket_28_0)
(roletype object_r drmserver_socket_28_0)
(type dumpstate)
(typeattribute dumpstate_28_0)
(roletype object_r dumpstate_28_0)
(type dumpstate_exec)
(typeattribute dumpstate_exec_28_0)
(roletype object_r dumpstate_exec_28_0)
(type e2fs)
(typeattribute e2fs_28_0)
(roletype object_r e2fs_28_0)
(type e2fs_exec)
(typeattribute e2fs_exec_28_0)
(roletype object_r e2fs_exec_28_0)
(type ephemeral_app)
(typeattribute ephemeral_app_28_0)
(roletype object_r ephemeral_app_28_0)
(type labeledfs)
(typeattribute labeledfs_28_0)
(roletype object_r labeledfs_28_0)
(type pipefs)
(typeattribute pipefs_28_0)
(roletype object_r pipefs_28_0)
(type sockfs)
(typeattribute sockfs_28_0)
(roletype object_r sockfs_28_0)
(type rootfs)
(typeattribute rootfs_28_0)
(roletype object_r rootfs_28_0)
(type proc)
(typeattribute proc_28_0)
(roletype object_r proc_28_0)
(type proc_security)
(typeattribute proc_security_28_0)
(roletype object_r proc_security_28_0)
(type proc_drop_caches)
(typeattribute proc_drop_caches_28_0)
(roletype object_r proc_drop_caches_28_0)
(type proc_overcommit_memory)
(typeattribute proc_overcommit_memory_28_0)
(roletype object_r proc_overcommit_memory_28_0)
(type proc_min_free_order_shift)
(typeattribute proc_min_free_order_shift_28_0)
(roletype object_r proc_min_free_order_shift_28_0)
(type usermodehelper)
(typeattribute usermodehelper_28_0)
(roletype object_r usermodehelper_28_0)
(type sysfs_usermodehelper)
(typeattribute sysfs_usermodehelper_28_0)
(roletype object_r sysfs_usermodehelper_28_0)
(type qtaguid_proc)
(typeattribute qtaguid_proc_28_0)
(roletype object_r qtaguid_proc_28_0)
(type proc_qtaguid_stat)
(typeattribute proc_qtaguid_stat_28_0)
(roletype object_r proc_qtaguid_stat_28_0)
(type proc_bluetooth_writable)
(typeattribute proc_bluetooth_writable_28_0)
(roletype object_r proc_bluetooth_writable_28_0)
(type proc_abi)
(typeattribute proc_abi_28_0)
(roletype object_r proc_abi_28_0)
(type proc_asound)
(typeattribute proc_asound_28_0)
(roletype object_r proc_asound_28_0)
(type proc_buddyinfo)
(typeattribute proc_buddyinfo_28_0)
(roletype object_r proc_buddyinfo_28_0)
(type proc_cmdline)
(typeattribute proc_cmdline_28_0)
(roletype object_r proc_cmdline_28_0)
(type proc_cpuinfo)
(typeattribute proc_cpuinfo_28_0)
(roletype object_r proc_cpuinfo_28_0)
(type proc_dirty)
(typeattribute proc_dirty_28_0)
(roletype object_r proc_dirty_28_0)
(type proc_diskstats)
(typeattribute proc_diskstats_28_0)
(roletype object_r proc_diskstats_28_0)
(type proc_extra_free_kbytes)
(typeattribute proc_extra_free_kbytes_28_0)
(roletype object_r proc_extra_free_kbytes_28_0)
(type proc_filesystems)
(typeattribute proc_filesystems_28_0)
(roletype object_r proc_filesystems_28_0)
(type proc_hostname)
(typeattribute proc_hostname_28_0)
(roletype object_r proc_hostname_28_0)
(type proc_hung_task)
(typeattribute proc_hung_task_28_0)
(roletype object_r proc_hung_task_28_0)
(type proc_interrupts)
(typeattribute proc_interrupts_28_0)
(roletype object_r proc_interrupts_28_0)
(type proc_iomem)
(typeattribute proc_iomem_28_0)
(roletype object_r proc_iomem_28_0)
(type proc_kmsg)
(typeattribute proc_kmsg_28_0)
(roletype object_r proc_kmsg_28_0)
(type proc_loadavg)
(typeattribute proc_loadavg_28_0)
(roletype object_r proc_loadavg_28_0)
(type proc_max_map_count)
(typeattribute proc_max_map_count_28_0)
(roletype object_r proc_max_map_count_28_0)
(type proc_meminfo)
(typeattribute proc_meminfo_28_0)
(roletype object_r proc_meminfo_28_0)
(type proc_misc)
(typeattribute proc_misc_28_0)
(roletype object_r proc_misc_28_0)
(type proc_modules)
(typeattribute proc_modules_28_0)
(roletype object_r proc_modules_28_0)
(type proc_mounts)
(typeattribute proc_mounts_28_0)
(roletype object_r proc_mounts_28_0)
(type proc_net)
(typeattribute proc_net_28_0)
(roletype object_r proc_net_28_0)
(type proc_page_cluster)
(typeattribute proc_page_cluster_28_0)
(roletype object_r proc_page_cluster_28_0)
(type proc_pagetypeinfo)
(typeattribute proc_pagetypeinfo_28_0)
(roletype object_r proc_pagetypeinfo_28_0)
(type proc_panic)
(typeattribute proc_panic_28_0)
(roletype object_r proc_panic_28_0)
(type proc_perf)
(typeattribute proc_perf_28_0)
(roletype object_r proc_perf_28_0)
(type proc_pid_max)
(typeattribute proc_pid_max_28_0)
(roletype object_r proc_pid_max_28_0)
(type proc_pipe_conf)
(typeattribute proc_pipe_conf_28_0)
(roletype object_r proc_pipe_conf_28_0)
(type proc_random)
(typeattribute proc_random_28_0)
(roletype object_r proc_random_28_0)
(type proc_sched)
(typeattribute proc_sched_28_0)
(roletype object_r proc_sched_28_0)
(type proc_stat)
(typeattribute proc_stat_28_0)
(roletype object_r proc_stat_28_0)
(type proc_swaps)
(typeattribute proc_swaps_28_0)
(roletype object_r proc_swaps_28_0)
(type proc_sysrq)
(typeattribute proc_sysrq_28_0)
(roletype object_r proc_sysrq_28_0)
(type proc_timer)
(typeattribute proc_timer_28_0)
(roletype object_r proc_timer_28_0)
(type proc_tty_drivers)
(typeattribute proc_tty_drivers_28_0)
(roletype object_r proc_tty_drivers_28_0)
(type proc_uid_cputime_showstat)
(typeattribute proc_uid_cputime_showstat_28_0)
(roletype object_r proc_uid_cputime_showstat_28_0)
(type proc_uid_cputime_removeuid)
(typeattribute proc_uid_cputime_removeuid_28_0)
(roletype object_r proc_uid_cputime_removeuid_28_0)
(type proc_uid_io_stats)
(typeattribute proc_uid_io_stats_28_0)
(roletype object_r proc_uid_io_stats_28_0)
(type proc_uid_procstat_set)
(typeattribute proc_uid_procstat_set_28_0)
(roletype object_r proc_uid_procstat_set_28_0)
(type proc_uid_time_in_state)
(typeattribute proc_uid_time_in_state_28_0)
(roletype object_r proc_uid_time_in_state_28_0)
(type proc_uid_concurrent_active_time)
(typeattribute proc_uid_concurrent_active_time_28_0)
(roletype object_r proc_uid_concurrent_active_time_28_0)
(type proc_uid_concurrent_policy_time)
(typeattribute proc_uid_concurrent_policy_time_28_0)
(roletype object_r proc_uid_concurrent_policy_time_28_0)
(type proc_uid_cpupower)
(typeattribute proc_uid_cpupower_28_0)
(roletype object_r proc_uid_cpupower_28_0)
(type proc_uptime)
(typeattribute proc_uptime_28_0)
(roletype object_r proc_uptime_28_0)
(type proc_version)
(typeattribute proc_version_28_0)
(roletype object_r proc_version_28_0)
(type proc_vmallocinfo)
(typeattribute proc_vmallocinfo_28_0)
(roletype object_r proc_vmallocinfo_28_0)
(type proc_vmstat)
(typeattribute proc_vmstat_28_0)
(roletype object_r proc_vmstat_28_0)
(type proc_zoneinfo)
(typeattribute proc_zoneinfo_28_0)
(roletype object_r proc_zoneinfo_28_0)
(type selinuxfs)
(typeattribute selinuxfs_28_0)
(roletype object_r selinuxfs_28_0)
(type cgroup)
(typeattribute cgroup_28_0)
(roletype object_r cgroup_28_0)
(type cgroup_bpf)
(typeattribute cgroup_bpf_28_0)
(roletype object_r cgroup_bpf_28_0)
(type sysfs)
(typeattribute sysfs_28_0)
(roletype object_r sysfs_28_0)
(type sysfs_android_usb)
(typeattribute sysfs_android_usb_28_0)
(roletype object_r sysfs_android_usb_28_0)
(type sysfs_uio)
(typeattribute sysfs_uio_28_0)
(roletype object_r sysfs_uio_28_0)
(type sysfs_batteryinfo)
(typeattribute sysfs_batteryinfo_28_0)
(roletype object_r sysfs_batteryinfo_28_0)
(type sysfs_bluetooth_writable)
(typeattribute sysfs_bluetooth_writable_28_0)
(roletype object_r sysfs_bluetooth_writable_28_0)
(type sysfs_dm)
(typeattribute sysfs_dm_28_0)
(roletype object_r sysfs_dm_28_0)
(type sysfs_dt_firmware_android)
(typeattribute sysfs_dt_firmware_android_28_0)
(roletype object_r sysfs_dt_firmware_android_28_0)
(type sysfs_ipv4)
(typeattribute sysfs_ipv4_28_0)
(roletype object_r sysfs_ipv4_28_0)
(type sysfs_kernel_notes)
(typeattribute sysfs_kernel_notes_28_0)
(roletype object_r sysfs_kernel_notes_28_0)
(type sysfs_leds)
(typeattribute sysfs_leds_28_0)
(roletype object_r sysfs_leds_28_0)
(type sysfs_hwrandom)
(typeattribute sysfs_hwrandom_28_0)
(roletype object_r sysfs_hwrandom_28_0)
(type sysfs_nfc_power_writable)
(typeattribute sysfs_nfc_power_writable_28_0)
(roletype object_r sysfs_nfc_power_writable_28_0)
(type sysfs_wake_lock)
(typeattribute sysfs_wake_lock_28_0)
(roletype object_r sysfs_wake_lock_28_0)
(type sysfs_mac_address)
(typeattribute sysfs_mac_address_28_0)
(roletype object_r sysfs_mac_address_28_0)
(type sysfs_net)
(typeattribute sysfs_net_28_0)
(roletype object_r sysfs_net_28_0)
(type sysfs_power)
(typeattribute sysfs_power_28_0)
(roletype object_r sysfs_power_28_0)
(type sysfs_rtc)
(typeattribute sysfs_rtc_28_0)
(roletype object_r sysfs_rtc_28_0)
(type sysfs_switch)
(typeattribute sysfs_switch_28_0)
(roletype object_r sysfs_switch_28_0)
(type sysfs_usb)
(typeattribute sysfs_usb_28_0)
(roletype object_r sysfs_usb_28_0)
(type sysfs_wakeup_reasons)
(typeattribute sysfs_wakeup_reasons_28_0)
(roletype object_r sysfs_wakeup_reasons_28_0)
(type sysfs_fs_ext4_features)
(typeattribute sysfs_fs_ext4_features_28_0)
(roletype object_r sysfs_fs_ext4_features_28_0)
(type fs_bpf)
(typeattribute fs_bpf_28_0)
(roletype object_r fs_bpf_28_0)
(type configfs)
(typeattribute configfs_28_0)
(roletype object_r configfs_28_0)
(type sysfs_devices_system_cpu)
(typeattribute sysfs_devices_system_cpu_28_0)
(roletype object_r sysfs_devices_system_cpu_28_0)
(type sysfs_lowmemorykiller)
(typeattribute sysfs_lowmemorykiller_28_0)
(roletype object_r sysfs_lowmemorykiller_28_0)
(type sysfs_wlan_fwpath)
(typeattribute sysfs_wlan_fwpath_28_0)
(roletype object_r sysfs_wlan_fwpath_28_0)
(type sysfs_vibrator)
(typeattribute sysfs_vibrator_28_0)
(roletype object_r sysfs_vibrator_28_0)
(type sysfs_thermal)
(typeattribute sysfs_thermal_28_0)
(roletype object_r sysfs_thermal_28_0)
(type sysfs_zram)
(typeattribute sysfs_zram_28_0)
(roletype object_r sysfs_zram_28_0)
(type sysfs_zram_uevent)
(typeattribute sysfs_zram_uevent_28_0)
(roletype object_r sysfs_zram_uevent_28_0)
(type inotify)
(typeattribute inotify_28_0)
(roletype object_r inotify_28_0)
(type devpts)
(typeattribute devpts_28_0)
(roletype object_r devpts_28_0)
(type tmpfs)
(typeattribute tmpfs_28_0)
(roletype object_r tmpfs_28_0)
(type shm)
(typeattribute shm_28_0)
(roletype object_r shm_28_0)
(type mqueue)
(typeattribute mqueue_28_0)
(roletype object_r mqueue_28_0)
(type fuse)
(typeattribute fuse_28_0)
(roletype object_r fuse_28_0)
(type sdcardfs)
(typeattribute sdcardfs_28_0)
(roletype object_r sdcardfs_28_0)
(type vfat)
(typeattribute vfat_28_0)
(roletype object_r vfat_28_0)
(type exfat)
(typeattribute exfat_28_0)
(roletype object_r exfat_28_0)
(type debugfs)
(typeattribute debugfs_28_0)
(roletype object_r debugfs_28_0)
(type debugfs_mmc)
(typeattribute debugfs_mmc_28_0)
(roletype object_r debugfs_mmc_28_0)
(type debugfs_trace_marker)
(typeattribute debugfs_trace_marker_28_0)
(roletype object_r debugfs_trace_marker_28_0)
(type debugfs_tracing)
(typeattribute debugfs_tracing_28_0)
(roletype object_r debugfs_tracing_28_0)
(type debugfs_tracing_debug)
(typeattribute debugfs_tracing_debug_28_0)
(roletype object_r debugfs_tracing_debug_28_0)
(type debugfs_tracing_instances)
(typeattribute debugfs_tracing_instances_28_0)
(roletype object_r debugfs_tracing_instances_28_0)
(type debugfs_wakeup_sources)
(typeattribute debugfs_wakeup_sources_28_0)
(roletype object_r debugfs_wakeup_sources_28_0)
(type debugfs_wifi_tracing)
(typeattribute debugfs_wifi_tracing_28_0)
(roletype object_r debugfs_wifi_tracing_28_0)
(type pstorefs)
(typeattribute pstorefs_28_0)
(roletype object_r pstorefs_28_0)
(type functionfs)
(typeattribute functionfs_28_0)
(roletype object_r functionfs_28_0)
(type oemfs)
(typeattribute oemfs_28_0)
(roletype object_r oemfs_28_0)
(type usbfs)
(typeattribute usbfs_28_0)
(roletype object_r usbfs_28_0)
(type binfmt_miscfs)
(typeattribute binfmt_miscfs_28_0)
(roletype object_r binfmt_miscfs_28_0)
(type app_fusefs)
(typeattribute app_fusefs_28_0)
(roletype object_r app_fusefs_28_0)
(type unlabeled)
(typeattribute unlabeled_28_0)
(roletype object_r unlabeled_28_0)
(type system_file)
(typeattribute system_file_28_0)
(roletype object_r system_file_28_0)
(type vendor_hal_file)
(typeattribute vendor_hal_file_28_0)
(roletype object_r vendor_hal_file_28_0)
(type vendor_file)
(typeattribute vendor_file_28_0)
(roletype object_r vendor_file_28_0)
(type vendor_app_file)
(typeattribute vendor_app_file_28_0)
(roletype object_r vendor_app_file_28_0)
(type vendor_configs_file)
(typeattribute vendor_configs_file_28_0)
(roletype object_r vendor_configs_file_28_0)
(type same_process_hal_file)
(typeattribute same_process_hal_file_28_0)
(roletype object_r same_process_hal_file_28_0)
(type vndk_sp_file)
(typeattribute vndk_sp_file_28_0)
(roletype object_r vndk_sp_file_28_0)
(type vendor_framework_file)
(typeattribute vendor_framework_file_28_0)
(roletype object_r vendor_framework_file_28_0)
(type vendor_overlay_file)
(typeattribute vendor_overlay_file_28_0)
(roletype object_r vendor_overlay_file_28_0)
(type metadata_file)
(typeattribute metadata_file_28_0)
(roletype object_r metadata_file_28_0)
(type vold_metadata_file)
(typeattribute vold_metadata_file_28_0)
(roletype object_r vold_metadata_file_28_0)
(type runtime_event_log_tags_file)
(typeattribute runtime_event_log_tags_file_28_0)
(roletype object_r runtime_event_log_tags_file_28_0)
(type logcat_exec)
(typeattribute logcat_exec_28_0)
(roletype object_r logcat_exec_28_0)
(type coredump_file)
(typeattribute coredump_file_28_0)
(roletype object_r coredump_file_28_0)
(type system_data_file)
(typeattribute system_data_file_28_0)
(roletype object_r system_data_file_28_0)
(type vendor_data_file)
(typeattribute vendor_data_file_28_0)
(roletype object_r vendor_data_file_28_0)
(type unencrypted_data_file)
(typeattribute unencrypted_data_file_28_0)
(roletype object_r unencrypted_data_file_28_0)
(type install_data_file)
(typeattribute install_data_file_28_0)
(roletype object_r install_data_file_28_0)
(type drm_data_file)
(typeattribute drm_data_file_28_0)
(roletype object_r drm_data_file_28_0)
(type adb_data_file)
(typeattribute adb_data_file_28_0)
(roletype object_r adb_data_file_28_0)
(type anr_data_file)
(typeattribute anr_data_file_28_0)
(roletype object_r anr_data_file_28_0)
(type tombstone_data_file)
(typeattribute tombstone_data_file_28_0)
(roletype object_r tombstone_data_file_28_0)
(type tombstone_wifi_data_file)
(typeattribute tombstone_wifi_data_file_28_0)
(roletype object_r tombstone_wifi_data_file_28_0)
(type apk_data_file)
(typeattribute apk_data_file_28_0)
(roletype object_r apk_data_file_28_0)
(type apk_tmp_file)
(typeattribute apk_tmp_file_28_0)
(roletype object_r apk_tmp_file_28_0)
(type apk_private_data_file)
(typeattribute apk_private_data_file_28_0)
(roletype object_r apk_private_data_file_28_0)
(type apk_private_tmp_file)
(typeattribute apk_private_tmp_file_28_0)
(roletype object_r apk_private_tmp_file_28_0)
(type dalvikcache_data_file)
(typeattribute dalvikcache_data_file_28_0)
(roletype object_r dalvikcache_data_file_28_0)
(type ota_data_file)
(typeattribute ota_data_file_28_0)
(roletype object_r ota_data_file_28_0)
(type ota_package_file)
(typeattribute ota_package_file_28_0)
(roletype object_r ota_package_file_28_0)
(type user_profile_data_file)
(typeattribute user_profile_data_file_28_0)
(roletype object_r user_profile_data_file_28_0)
(type profman_dump_data_file)
(typeattribute profman_dump_data_file_28_0)
(roletype object_r profman_dump_data_file_28_0)
(type resourcecache_data_file)
(typeattribute resourcecache_data_file_28_0)
(roletype object_r resourcecache_data_file_28_0)
(type shell_data_file)
(typeattribute shell_data_file_28_0)
(roletype object_r shell_data_file_28_0)
(type property_data_file)
(typeattribute property_data_file_28_0)
(roletype object_r property_data_file_28_0)
(type bootchart_data_file)
(typeattribute bootchart_data_file_28_0)
(roletype object_r bootchart_data_file_28_0)
(type heapdump_data_file)
(typeattribute heapdump_data_file_28_0)
(roletype object_r heapdump_data_file_28_0)
(type nativetest_data_file)
(typeattribute nativetest_data_file_28_0)
(roletype object_r nativetest_data_file_28_0)
(type ringtone_file)
(typeattribute ringtone_file_28_0)
(roletype object_r ringtone_file_28_0)
(type preloads_data_file)
(typeattribute preloads_data_file_28_0)
(roletype object_r preloads_data_file_28_0)
(type preloads_media_file)
(typeattribute preloads_media_file_28_0)
(roletype object_r preloads_media_file_28_0)
(type dhcp_data_file)
(typeattribute dhcp_data_file_28_0)
(roletype object_r dhcp_data_file_28_0)
(type mnt_media_rw_file)
(typeattribute mnt_media_rw_file_28_0)
(roletype object_r mnt_media_rw_file_28_0)
(type mnt_user_file)
(typeattribute mnt_user_file_28_0)
(roletype object_r mnt_user_file_28_0)
(type mnt_expand_file)
(typeattribute mnt_expand_file_28_0)
(roletype object_r mnt_expand_file_28_0)
(type storage_file)
(typeattribute storage_file_28_0)
(roletype object_r storage_file_28_0)
(type mnt_media_rw_stub_file)
(typeattribute mnt_media_rw_stub_file_28_0)
(roletype object_r mnt_media_rw_stub_file_28_0)
(type storage_stub_file)
(typeattribute storage_stub_file_28_0)
(roletype object_r storage_stub_file_28_0)
(type mnt_vendor_file)
(typeattribute mnt_vendor_file_28_0)
(roletype object_r mnt_vendor_file_28_0)
(type postinstall_mnt_dir)
(typeattribute postinstall_mnt_dir_28_0)
(roletype object_r postinstall_mnt_dir_28_0)
(type postinstall_file)
(typeattribute postinstall_file_28_0)
(roletype object_r postinstall_file_28_0)
(type adb_keys_file)
(typeattribute adb_keys_file_28_0)
(roletype object_r adb_keys_file_28_0)
(type audio_data_file)
(typeattribute audio_data_file_28_0)
(roletype object_r audio_data_file_28_0)
(type audioserver_data_file)
(typeattribute audioserver_data_file_28_0)
(roletype object_r audioserver_data_file_28_0)
(type bluetooth_data_file)
(typeattribute bluetooth_data_file_28_0)
(roletype object_r bluetooth_data_file_28_0)
(type bluetooth_logs_data_file)
(typeattribute bluetooth_logs_data_file_28_0)
(roletype object_r bluetooth_logs_data_file_28_0)
(type bootstat_data_file)
(typeattribute bootstat_data_file_28_0)
(roletype object_r bootstat_data_file_28_0)
(type boottrace_data_file)
(typeattribute boottrace_data_file_28_0)
(roletype object_r boottrace_data_file_28_0)
(type camera_data_file)
(typeattribute camera_data_file_28_0)
(roletype object_r camera_data_file_28_0)
(type gatekeeper_data_file)
(typeattribute gatekeeper_data_file_28_0)
(roletype object_r gatekeeper_data_file_28_0)
(type incident_data_file)
(typeattribute incident_data_file_28_0)
(roletype object_r incident_data_file_28_0)
(type keychain_data_file)
(typeattribute keychain_data_file_28_0)
(roletype object_r keychain_data_file_28_0)
(type keystore_data_file)
(typeattribute keystore_data_file_28_0)
(roletype object_r keystore_data_file_28_0)
(type media_data_file)
(typeattribute media_data_file_28_0)
(roletype object_r media_data_file_28_0)
(type media_rw_data_file)
(typeattribute media_rw_data_file_28_0)
(roletype object_r media_rw_data_file_28_0)
(type misc_user_data_file)
(typeattribute misc_user_data_file_28_0)
(roletype object_r misc_user_data_file_28_0)
(type net_data_file)
(typeattribute net_data_file_28_0)
(roletype object_r net_data_file_28_0)
(type network_watchlist_data_file)
(typeattribute network_watchlist_data_file_28_0)
(roletype object_r network_watchlist_data_file_28_0)
(type nfc_data_file)
(typeattribute nfc_data_file_28_0)
(roletype object_r nfc_data_file_28_0)
(type radio_data_file)
(typeattribute radio_data_file_28_0)
(roletype object_r radio_data_file_28_0)
(type recovery_data_file)
(typeattribute recovery_data_file_28_0)
(roletype object_r recovery_data_file_28_0)
(type shared_relro_file)
(typeattribute shared_relro_file_28_0)
(roletype object_r shared_relro_file_28_0)
(type systemkeys_data_file)
(typeattribute systemkeys_data_file_28_0)
(roletype object_r systemkeys_data_file_28_0)
(type textclassifier_data_file)
(typeattribute textclassifier_data_file_28_0)
(roletype object_r textclassifier_data_file_28_0)
(type trace_data_file)
(typeattribute trace_data_file_28_0)
(roletype object_r trace_data_file_28_0)
(type vpn_data_file)
(typeattribute vpn_data_file_28_0)
(roletype object_r vpn_data_file_28_0)
(type wifi_data_file)
(typeattribute wifi_data_file_28_0)
(roletype object_r wifi_data_file_28_0)
(type zoneinfo_data_file)
(typeattribute zoneinfo_data_file_28_0)
(roletype object_r zoneinfo_data_file_28_0)
(type vold_data_file)
(typeattribute vold_data_file_28_0)
(roletype object_r vold_data_file_28_0)
(type perfprofd_data_file)
(typeattribute perfprofd_data_file_28_0)
(roletype object_r perfprofd_data_file_28_0)
(type tee_data_file)
(typeattribute tee_data_file_28_0)
(roletype object_r tee_data_file_28_0)
(type update_engine_data_file)
(typeattribute update_engine_data_file_28_0)
(roletype object_r update_engine_data_file_28_0)
(type update_engine_log_data_file)
(typeattribute update_engine_log_data_file_28_0)
(roletype object_r update_engine_log_data_file_28_0)
(type method_trace_data_file)
(typeattribute method_trace_data_file_28_0)
(roletype object_r method_trace_data_file_28_0)
(type app_data_file)
(typeattribute app_data_file_28_0)
(roletype object_r app_data_file_28_0)
(type system_app_data_file)
(typeattribute system_app_data_file_28_0)
(roletype object_r system_app_data_file_28_0)
(type cache_file)
(typeattribute cache_file_28_0)
(roletype object_r cache_file_28_0)
(type cache_backup_file)
(typeattribute cache_backup_file_28_0)
(roletype object_r cache_backup_file_28_0)
(type cache_private_backup_file)
(typeattribute cache_private_backup_file_28_0)
(roletype object_r cache_private_backup_file_28_0)
(type cache_recovery_file)
(typeattribute cache_recovery_file_28_0)
(roletype object_r cache_recovery_file_28_0)
(type efs_file)
(typeattribute efs_file_28_0)
(roletype object_r efs_file_28_0)
(type wallpaper_file)
(typeattribute wallpaper_file_28_0)
(roletype object_r wallpaper_file_28_0)
(type shortcut_manager_icons)
(typeattribute shortcut_manager_icons_28_0)
(roletype object_r shortcut_manager_icons_28_0)
(type icon_file)
(typeattribute icon_file_28_0)
(roletype object_r icon_file_28_0)
(type asec_apk_file)
(typeattribute asec_apk_file_28_0)
(roletype object_r asec_apk_file_28_0)
(type asec_public_file)
(typeattribute asec_public_file_28_0)
(roletype object_r asec_public_file_28_0)
(type asec_image_file)
(typeattribute asec_image_file_28_0)
(roletype object_r asec_image_file_28_0)
(type backup_data_file)
(typeattribute backup_data_file_28_0)
(roletype object_r backup_data_file_28_0)
(type bluetooth_efs_file)
(typeattribute bluetooth_efs_file_28_0)
(roletype object_r bluetooth_efs_file_28_0)
(type fingerprintd_data_file)
(typeattribute fingerprintd_data_file_28_0)
(roletype object_r fingerprintd_data_file_28_0)
(type fingerprint_vendor_data_file)
(typeattribute fingerprint_vendor_data_file_28_0)
(roletype object_r fingerprint_vendor_data_file_28_0)
(type app_fuse_file)
(typeattribute app_fuse_file_28_0)
(roletype object_r app_fuse_file_28_0)
(type adbd_socket)
(typeattribute adbd_socket_28_0)
(roletype object_r adbd_socket_28_0)
(type bluetooth_socket)
(typeattribute bluetooth_socket_28_0)
(roletype object_r bluetooth_socket_28_0)
(type dnsproxyd_socket)
(typeattribute dnsproxyd_socket_28_0)
(roletype object_r dnsproxyd_socket_28_0)
(type dumpstate_socket)
(typeattribute dumpstate_socket_28_0)
(roletype object_r dumpstate_socket_28_0)
(type fwmarkd_socket)
(typeattribute fwmarkd_socket_28_0)
(roletype object_r fwmarkd_socket_28_0)
(type lmkd_socket)
(typeattribute lmkd_socket_28_0)
(roletype object_r lmkd_socket_28_0)
(type logd_socket)
(typeattribute logd_socket_28_0)
(roletype object_r logd_socket_28_0)
(type logdr_socket)
(typeattribute logdr_socket_28_0)
(roletype object_r logdr_socket_28_0)
(type logdw_socket)
(typeattribute logdw_socket_28_0)
(roletype object_r logdw_socket_28_0)
(type mdns_socket)
(typeattribute mdns_socket_28_0)
(roletype object_r mdns_socket_28_0)
(type mdnsd_socket)
(typeattribute mdnsd_socket_28_0)
(roletype object_r mdnsd_socket_28_0)
(type misc_logd_file)
(typeattribute misc_logd_file_28_0)
(roletype object_r misc_logd_file_28_0)
(type mtpd_socket)
(typeattribute mtpd_socket_28_0)
(roletype object_r mtpd_socket_28_0)
(type netd_socket)
(typeattribute netd_socket_28_0)
(roletype object_r netd_socket_28_0)
(type property_socket)
(typeattribute property_socket_28_0)
(roletype object_r property_socket_28_0)
(type racoon_socket)
(typeattribute racoon_socket_28_0)
(roletype object_r racoon_socket_28_0)
(type rild_socket)
(typeattribute rild_socket_28_0)
(roletype object_r rild_socket_28_0)
(type rild_debug_socket)
(typeattribute rild_debug_socket_28_0)
(roletype object_r rild_debug_socket_28_0)
(type system_wpa_socket)
(typeattribute system_wpa_socket_28_0)
(roletype object_r system_wpa_socket_28_0)
(type system_ndebug_socket)
(typeattribute system_ndebug_socket_28_0)
(roletype object_r system_ndebug_socket_28_0)
(type tombstoned_crash_socket)
(typeattribute tombstoned_crash_socket_28_0)
(roletype object_r tombstoned_crash_socket_28_0)
(type tombstoned_java_trace_socket)
(typeattribute tombstoned_java_trace_socket_28_0)
(roletype object_r tombstoned_java_trace_socket_28_0)
(type tombstoned_intercept_socket)
(typeattribute tombstoned_intercept_socket_28_0)
(roletype object_r tombstoned_intercept_socket_28_0)
(type traced_producer_socket)
(typeattribute traced_producer_socket_28_0)
(roletype object_r traced_producer_socket_28_0)
(type traced_consumer_socket)
(typeattribute traced_consumer_socket_28_0)
(roletype object_r traced_consumer_socket_28_0)
(type uncrypt_socket)
(typeattribute uncrypt_socket_28_0)
(roletype object_r uncrypt_socket_28_0)
(type wpa_socket)
(typeattribute wpa_socket_28_0)
(roletype object_r wpa_socket_28_0)
(type zygote_socket)
(typeattribute zygote_socket_28_0)
(roletype object_r zygote_socket_28_0)
(type gps_control)
(typeattribute gps_control_28_0)
(roletype object_r gps_control_28_0)
(type pdx_display_dir)
(typeattribute pdx_display_dir_28_0)
(roletype object_r pdx_display_dir_28_0)
(type pdx_performance_dir)
(typeattribute pdx_performance_dir_28_0)
(roletype object_r pdx_performance_dir_28_0)
(type pdx_bufferhub_dir)
(typeattribute pdx_bufferhub_dir_28_0)
(roletype object_r pdx_bufferhub_dir_28_0)
(type pdx_display_client_endpoint_socket)
(typeattribute pdx_display_client_endpoint_socket_28_0)
(roletype object_r pdx_display_client_endpoint_socket_28_0)
(type pdx_display_client_channel_socket)
(typeattribute pdx_display_client_channel_socket_28_0)
(roletype object_r pdx_display_client_channel_socket_28_0)
(type pdx_display_manager_endpoint_socket)
(typeattribute pdx_display_manager_endpoint_socket_28_0)
(roletype object_r pdx_display_manager_endpoint_socket_28_0)
(type pdx_display_manager_channel_socket)
(typeattribute pdx_display_manager_channel_socket_28_0)
(roletype object_r pdx_display_manager_channel_socket_28_0)
(type pdx_display_screenshot_endpoint_socket)
(typeattribute pdx_display_screenshot_endpoint_socket_28_0)
(roletype object_r pdx_display_screenshot_endpoint_socket_28_0)
(type pdx_display_screenshot_channel_socket)
(typeattribute pdx_display_screenshot_channel_socket_28_0)
(roletype object_r pdx_display_screenshot_channel_socket_28_0)
(type pdx_display_vsync_endpoint_socket)
(typeattribute pdx_display_vsync_endpoint_socket_28_0)
(roletype object_r pdx_display_vsync_endpoint_socket_28_0)
(type pdx_display_vsync_channel_socket)
(typeattribute pdx_display_vsync_channel_socket_28_0)
(roletype object_r pdx_display_vsync_channel_socket_28_0)
(type pdx_performance_client_endpoint_socket)
(typeattribute pdx_performance_client_endpoint_socket_28_0)
(roletype object_r pdx_performance_client_endpoint_socket_28_0)
(type pdx_performance_client_channel_socket)
(typeattribute pdx_performance_client_channel_socket_28_0)
(roletype object_r pdx_performance_client_channel_socket_28_0)
(type pdx_bufferhub_client_endpoint_socket)
(typeattribute pdx_bufferhub_client_endpoint_socket_28_0)
(roletype object_r pdx_bufferhub_client_endpoint_socket_28_0)
(type pdx_bufferhub_client_channel_socket)
(typeattribute pdx_bufferhub_client_channel_socket_28_0)
(roletype object_r pdx_bufferhub_client_channel_socket_28_0)
(type file_contexts_file)
(typeattribute file_contexts_file_28_0)
(roletype object_r file_contexts_file_28_0)
(type mac_perms_file)
(typeattribute mac_perms_file_28_0)
(roletype object_r mac_perms_file_28_0)
(type property_contexts_file)
(typeattribute property_contexts_file_28_0)
(roletype object_r property_contexts_file_28_0)
(type seapp_contexts_file)
(typeattribute seapp_contexts_file_28_0)
(roletype object_r seapp_contexts_file_28_0)
(type sepolicy_file)
(typeattribute sepolicy_file_28_0)
(roletype object_r sepolicy_file_28_0)
(type service_contexts_file)
(typeattribute service_contexts_file_28_0)
(roletype object_r service_contexts_file_28_0)
(type nonplat_service_contexts_file)
(typeattribute nonplat_service_contexts_file_28_0)
(roletype object_r nonplat_service_contexts_file_28_0)
(type hwservice_contexts_file)
(typeattribute hwservice_contexts_file_28_0)
(roletype object_r hwservice_contexts_file_28_0)
(type vndservice_contexts_file)
(typeattribute vndservice_contexts_file_28_0)
(roletype object_r vndservice_contexts_file_28_0)
(type audiohal_data_file)
(typeattribute audiohal_data_file_28_0)
(roletype object_r audiohal_data_file_28_0)
(type fingerprintd)
(typeattribute fingerprintd_28_0)
(roletype object_r fingerprintd_28_0)
(type fingerprintd_exec)
(typeattribute fingerprintd_exec_28_0)
(roletype object_r fingerprintd_exec_28_0)
(type fsck)
(typeattribute fsck_28_0)
(roletype object_r fsck_28_0)
(type fsck_exec)
(typeattribute fsck_exec_28_0)
(roletype object_r fsck_exec_28_0)
(type fsck_untrusted)
(typeattribute fsck_untrusted_28_0)
(roletype object_r fsck_untrusted_28_0)
(type gatekeeperd)
(typeattribute gatekeeperd_28_0)
(roletype object_r gatekeeperd_28_0)
(type gatekeeperd_exec)
(typeattribute gatekeeperd_exec_28_0)
(roletype object_r gatekeeperd_exec_28_0)
(type healthd)
(typeattribute healthd_28_0)
(roletype object_r healthd_28_0)
(type healthd_exec)
(typeattribute healthd_exec_28_0)
(roletype object_r healthd_exec_28_0)
(type default_android_hwservice)
(typeattribute default_android_hwservice_28_0)
(roletype object_r default_android_hwservice_28_0)
(type fwk_display_hwservice)
(typeattribute fwk_display_hwservice_28_0)
(roletype object_r fwk_display_hwservice_28_0)
(type fwk_scheduler_hwservice)
(typeattribute fwk_scheduler_hwservice_28_0)
(roletype object_r fwk_scheduler_hwservice_28_0)
(type fwk_sensor_hwservice)
(typeattribute fwk_sensor_hwservice_28_0)
(roletype object_r fwk_sensor_hwservice_28_0)
(type hal_audiocontrol_hwservice)
(typeattribute hal_audiocontrol_hwservice_28_0)
(roletype object_r hal_audiocontrol_hwservice_28_0)
(type hal_audio_hwservice)
(typeattribute hal_audio_hwservice_28_0)
(roletype object_r hal_audio_hwservice_28_0)
(type hal_authsecret_hwservice)
(typeattribute hal_authsecret_hwservice_28_0)
(roletype object_r hal_authsecret_hwservice_28_0)
(type hal_bluetooth_hwservice)
(typeattribute hal_bluetooth_hwservice_28_0)
(roletype object_r hal_bluetooth_hwservice_28_0)
(type hal_bootctl_hwservice)
(typeattribute hal_bootctl_hwservice_28_0)
(roletype object_r hal_bootctl_hwservice_28_0)
(type hal_broadcastradio_hwservice)
(typeattribute hal_broadcastradio_hwservice_28_0)
(roletype object_r hal_broadcastradio_hwservice_28_0)
(type hal_camera_hwservice)
(typeattribute hal_camera_hwservice_28_0)
(roletype object_r hal_camera_hwservice_28_0)
(type hal_codec2_hwservice)
(typeattribute hal_codec2_hwservice_28_0)
(roletype object_r hal_codec2_hwservice_28_0)
(type hal_configstore_ISurfaceFlingerConfigs)
(typeattribute hal_configstore_ISurfaceFlingerConfigs_28_0)
(roletype object_r hal_configstore_ISurfaceFlingerConfigs_28_0)
(type hal_confirmationui_hwservice)
(typeattribute hal_confirmationui_hwservice_28_0)
(roletype object_r hal_confirmationui_hwservice_28_0)
(type hal_contexthub_hwservice)
(typeattribute hal_contexthub_hwservice_28_0)
(roletype object_r hal_contexthub_hwservice_28_0)
(type hal_drm_hwservice)
(typeattribute hal_drm_hwservice_28_0)
(roletype object_r hal_drm_hwservice_28_0)
(type hal_cas_hwservice)
(typeattribute hal_cas_hwservice_28_0)
(roletype object_r hal_cas_hwservice_28_0)
(type hal_dumpstate_hwservice)
(typeattribute hal_dumpstate_hwservice_28_0)
(roletype object_r hal_dumpstate_hwservice_28_0)
(type hal_evs_hwservice)
(typeattribute hal_evs_hwservice_28_0)
(roletype object_r hal_evs_hwservice_28_0)
(type hal_fingerprint_hwservice)
(typeattribute hal_fingerprint_hwservice_28_0)
(roletype object_r hal_fingerprint_hwservice_28_0)
(type hal_gatekeeper_hwservice)
(typeattribute hal_gatekeeper_hwservice_28_0)
(roletype object_r hal_gatekeeper_hwservice_28_0)
(type hal_gnss_hwservice)
(typeattribute hal_gnss_hwservice_28_0)
(roletype object_r hal_gnss_hwservice_28_0)
(type hal_graphics_allocator_hwservice)
(typeattribute hal_graphics_allocator_hwservice_28_0)
(roletype object_r hal_graphics_allocator_hwservice_28_0)
(type hal_graphics_composer_hwservice)
(typeattribute hal_graphics_composer_hwservice_28_0)
(roletype object_r hal_graphics_composer_hwservice_28_0)
(type hal_graphics_mapper_hwservice)
(typeattribute hal_graphics_mapper_hwservice_28_0)
(roletype object_r hal_graphics_mapper_hwservice_28_0)
(type hal_health_hwservice)
(typeattribute hal_health_hwservice_28_0)
(roletype object_r hal_health_hwservice_28_0)
(type hal_ir_hwservice)
(typeattribute hal_ir_hwservice_28_0)
(roletype object_r hal_ir_hwservice_28_0)
(type hal_keymaster_hwservice)
(typeattribute hal_keymaster_hwservice_28_0)
(roletype object_r hal_keymaster_hwservice_28_0)
(type hal_light_hwservice)
(typeattribute hal_light_hwservice_28_0)
(roletype object_r hal_light_hwservice_28_0)
(type hal_lowpan_hwservice)
(typeattribute hal_lowpan_hwservice_28_0)
(roletype object_r hal_lowpan_hwservice_28_0)
(type hal_memtrack_hwservice)
(typeattribute hal_memtrack_hwservice_28_0)
(roletype object_r hal_memtrack_hwservice_28_0)
(type hal_neuralnetworks_hwservice)
(typeattribute hal_neuralnetworks_hwservice_28_0)
(roletype object_r hal_neuralnetworks_hwservice_28_0)
(type hal_nfc_hwservice)
(typeattribute hal_nfc_hwservice_28_0)
(roletype object_r hal_nfc_hwservice_28_0)
(type hal_oemlock_hwservice)
(typeattribute hal_oemlock_hwservice_28_0)
(roletype object_r hal_oemlock_hwservice_28_0)
(type hal_omx_hwservice)
(typeattribute hal_omx_hwservice_28_0)
(roletype object_r hal_omx_hwservice_28_0)
(type hal_power_hwservice)
(typeattribute hal_power_hwservice_28_0)
(roletype object_r hal_power_hwservice_28_0)
(type hal_renderscript_hwservice)
(typeattribute hal_renderscript_hwservice_28_0)
(roletype object_r hal_renderscript_hwservice_28_0)
(type hal_secure_element_hwservice)
(typeattribute hal_secure_element_hwservice_28_0)
(roletype object_r hal_secure_element_hwservice_28_0)
(type hal_sensors_hwservice)
(typeattribute hal_sensors_hwservice_28_0)
(roletype object_r hal_sensors_hwservice_28_0)
(type hal_telephony_hwservice)
(typeattribute hal_telephony_hwservice_28_0)
(roletype object_r hal_telephony_hwservice_28_0)
(type hal_tetheroffload_hwservice)
(typeattribute hal_tetheroffload_hwservice_28_0)
(roletype object_r hal_tetheroffload_hwservice_28_0)
(type hal_thermal_hwservice)
(typeattribute hal_thermal_hwservice_28_0)
(roletype object_r hal_thermal_hwservice_28_0)
(type hal_tv_cec_hwservice)
(typeattribute hal_tv_cec_hwservice_28_0)
(roletype object_r hal_tv_cec_hwservice_28_0)
(type hal_tv_input_hwservice)
(typeattribute hal_tv_input_hwservice_28_0)
(roletype object_r hal_tv_input_hwservice_28_0)
(type hal_usb_hwservice)
(typeattribute hal_usb_hwservice_28_0)
(roletype object_r hal_usb_hwservice_28_0)
(type hal_usb_gadget_hwservice)
(typeattribute hal_usb_gadget_hwservice_28_0)
(roletype object_r hal_usb_gadget_hwservice_28_0)
(type hal_vehicle_hwservice)
(typeattribute hal_vehicle_hwservice_28_0)
(roletype object_r hal_vehicle_hwservice_28_0)
(type hal_vibrator_hwservice)
(typeattribute hal_vibrator_hwservice_28_0)
(roletype object_r hal_vibrator_hwservice_28_0)
(type hal_vr_hwservice)
(typeattribute hal_vr_hwservice_28_0)
(roletype object_r hal_vr_hwservice_28_0)
(type hal_weaver_hwservice)
(typeattribute hal_weaver_hwservice_28_0)
(roletype object_r hal_weaver_hwservice_28_0)
(type hal_wifi_hwservice)
(typeattribute hal_wifi_hwservice_28_0)
(roletype object_r hal_wifi_hwservice_28_0)
(type hal_wifi_hostapd_hwservice)
(typeattribute hal_wifi_hostapd_hwservice_28_0)
(roletype object_r hal_wifi_hostapd_hwservice_28_0)
(type hal_wifi_offload_hwservice)
(typeattribute hal_wifi_offload_hwservice_28_0)
(roletype object_r hal_wifi_offload_hwservice_28_0)
(type hal_wifi_supplicant_hwservice)
(typeattribute hal_wifi_supplicant_hwservice_28_0)
(roletype object_r hal_wifi_supplicant_hwservice_28_0)
(type hidl_allocator_hwservice)
(typeattribute hidl_allocator_hwservice_28_0)
(roletype object_r hidl_allocator_hwservice_28_0)
(type hidl_base_hwservice)
(typeattribute hidl_base_hwservice_28_0)
(roletype object_r hidl_base_hwservice_28_0)
(type hidl_manager_hwservice)
(typeattribute hidl_manager_hwservice_28_0)
(roletype object_r hidl_manager_hwservice_28_0)
(type hidl_memory_hwservice)
(typeattribute hidl_memory_hwservice_28_0)
(roletype object_r hidl_memory_hwservice_28_0)
(type hidl_token_hwservice)
(typeattribute hidl_token_hwservice_28_0)
(roletype object_r hidl_token_hwservice_28_0)
(type system_net_netd_hwservice)
(typeattribute system_net_netd_hwservice_28_0)
(roletype object_r system_net_netd_hwservice_28_0)
(type system_wifi_keystore_hwservice)
(typeattribute system_wifi_keystore_hwservice_28_0)
(roletype object_r system_wifi_keystore_hwservice_28_0)
(type thermalcallback_hwservice)
(typeattribute thermalcallback_hwservice_28_0)
(roletype object_r thermalcallback_hwservice_28_0)
(type hwservicemanager)
(typeattribute hwservicemanager_28_0)
(roletype object_r hwservicemanager_28_0)
(type hwservicemanager_exec)
(typeattribute hwservicemanager_exec_28_0)
(roletype object_r hwservicemanager_exec_28_0)
(type idmap)
(typeattribute idmap_28_0)
(roletype object_r idmap_28_0)
(type idmap_exec)
(typeattribute idmap_exec_28_0)
(roletype object_r idmap_exec_28_0)
(type incident)
(typeattribute incident_28_0)
(roletype object_r incident_28_0)
(type incident_helper)
(typeattribute incident_helper_28_0)
(roletype object_r incident_helper_28_0)
(type incidentd)
(typeattribute incidentd_28_0)
(roletype object_r incidentd_28_0)
(type init)
(typeattribute init_28_0)
(roletype object_r init_28_0)
(type init_exec)
(typeattribute init_exec_28_0)
(roletype object_r init_exec_28_0)
(type inputflinger)
(typeattribute inputflinger_28_0)
(roletype object_r inputflinger_28_0)
(type inputflinger_exec)
(typeattribute inputflinger_exec_28_0)
(roletype object_r inputflinger_exec_28_0)
(type install_recovery)
(typeattribute install_recovery_28_0)
(roletype object_r install_recovery_28_0)
(type install_recovery_exec)
(typeattribute install_recovery_exec_28_0)
(roletype object_r install_recovery_exec_28_0)
(type installd)
(typeattribute installd_28_0)
(roletype object_r installd_28_0)
(type installd_exec)
(typeattribute installd_exec_28_0)
(roletype object_r installd_exec_28_0)
(type isolated_app)
(typeattribute isolated_app_28_0)
(roletype object_r isolated_app_28_0)
(type kernel)
(typeattribute kernel_28_0)
(roletype object_r kernel_28_0)
(type keystore)
(typeattribute keystore_28_0)
(roletype object_r keystore_28_0)
(type keystore_exec)
(typeattribute keystore_exec_28_0)
(roletype object_r keystore_exec_28_0)
(type lmkd)
(typeattribute lmkd_28_0)
(roletype object_r lmkd_28_0)
(type lmkd_exec)
(typeattribute lmkd_exec_28_0)
(roletype object_r lmkd_exec_28_0)
(type logd)
(typeattribute logd_28_0)
(roletype object_r logd_28_0)
(type logd_exec)
(typeattribute logd_exec_28_0)
(roletype object_r logd_exec_28_0)
(type logpersist)
(typeattribute logpersist_28_0)
(roletype object_r logpersist_28_0)
(type mdnsd)
(typeattribute mdnsd_28_0)
(roletype object_r mdnsd_28_0)
(type mediacodec)
(typeattribute mediacodec_28_0)
(roletype object_r mediacodec_28_0)
(type mediacodec_exec)
(typeattribute mediacodec_exec_28_0)
(roletype object_r mediacodec_exec_28_0)
(type mediadrmserver)
(typeattribute mediadrmserver_28_0)
(roletype object_r mediadrmserver_28_0)
(type mediadrmserver_exec)
(typeattribute mediadrmserver_exec_28_0)
(roletype object_r mediadrmserver_exec_28_0)
(type mediaextractor)
(typeattribute mediaextractor_28_0)
(roletype object_r mediaextractor_28_0)
(type mediaextractor_exec)
(typeattribute mediaextractor_exec_28_0)
(roletype object_r mediaextractor_exec_28_0)
(type mediametrics)
(typeattribute mediametrics_28_0)
(roletype object_r mediametrics_28_0)
(type mediametrics_exec)
(typeattribute mediametrics_exec_28_0)
(roletype object_r mediametrics_exec_28_0)
(type mediaprovider)
(typeattribute mediaprovider_28_0)
(roletype object_r mediaprovider_28_0)
(type mediaserver)
(typeattribute mediaserver_28_0)
(roletype object_r mediaserver_28_0)
(type mediaserver_exec)
(typeattribute mediaserver_exec_28_0)
(roletype object_r mediaserver_exec_28_0)
(type modprobe)
(typeattribute modprobe_28_0)
(roletype object_r modprobe_28_0)
(type mtp)
(typeattribute mtp_28_0)
(roletype object_r mtp_28_0)
(type mtp_exec)
(typeattribute mtp_exec_28_0)
(roletype object_r mtp_exec_28_0)
(type node)
(typeattribute node_28_0)
(roletype object_r node_28_0)
(type netif)
(typeattribute netif_28_0)
(roletype object_r netif_28_0)
(type port)
(typeattribute port_28_0)
(roletype object_r port_28_0)
(type netd)
(typeattribute netd_28_0)
(roletype object_r netd_28_0)
(type netd_exec)
(typeattribute netd_exec_28_0)
(roletype object_r netd_exec_28_0)
(type netutils_wrapper)
(typeattribute netutils_wrapper_28_0)
(roletype object_r netutils_wrapper_28_0)
(type netutils_wrapper_exec)
(typeattribute netutils_wrapper_exec_28_0)
(roletype object_r netutils_wrapper_exec_28_0)
(type nfc)
(typeattribute nfc_28_0)
(roletype object_r nfc_28_0)
(type otapreopt_chroot)
(typeattribute otapreopt_chroot_28_0)
(roletype object_r otapreopt_chroot_28_0)
(type otapreopt_chroot_exec)
(typeattribute otapreopt_chroot_exec_28_0)
(roletype object_r otapreopt_chroot_exec_28_0)
(type otapreopt_slot)
(typeattribute otapreopt_slot_28_0)
(roletype object_r otapreopt_slot_28_0)
(type otapreopt_slot_exec)
(typeattribute otapreopt_slot_exec_28_0)
(roletype object_r otapreopt_slot_exec_28_0)
(type performanced)
(typeattribute performanced_28_0)
(roletype object_r performanced_28_0)
(type performanced_exec)
(typeattribute performanced_exec_28_0)
(roletype object_r performanced_exec_28_0)
(type perfprofd)
(typeattribute perfprofd_28_0)
(roletype object_r perfprofd_28_0)
(type perfprofd_exec)
(typeattribute perfprofd_exec_28_0)
(roletype object_r perfprofd_exec_28_0)
(type platform_app)
(typeattribute platform_app_28_0)
(roletype object_r platform_app_28_0)
(type postinstall)
(typeattribute postinstall_28_0)
(roletype object_r postinstall_28_0)
(type postinstall_dexopt)
(typeattribute postinstall_dexopt_28_0)
(roletype object_r postinstall_dexopt_28_0)
(type ppp)
(typeattribute ppp_28_0)
(roletype object_r ppp_28_0)
(type ppp_device)
(typeattribute ppp_device_28_0)
(roletype object_r ppp_device_28_0)
(type ppp_exec)
(typeattribute ppp_exec_28_0)
(roletype object_r ppp_exec_28_0)
(type preopt2cachename)
(typeattribute preopt2cachename_28_0)
(roletype object_r preopt2cachename_28_0)
(type preopt2cachename_exec)
(typeattribute preopt2cachename_exec_28_0)
(roletype object_r preopt2cachename_exec_28_0)
(type priv_app)
(typeattribute priv_app_28_0)
(roletype object_r priv_app_28_0)
(type profman)
(typeattribute profman_28_0)
(roletype object_r profman_28_0)
(type profman_exec)
(typeattribute profman_exec_28_0)
(roletype object_r profman_exec_28_0)
(type audio_prop)
(typeattribute audio_prop_28_0)
(roletype object_r audio_prop_28_0)
(type boottime_prop)
(typeattribute boottime_prop_28_0)
(roletype object_r boottime_prop_28_0)
(type bluetooth_a2dp_offload_prop)
(typeattribute bluetooth_a2dp_offload_prop_28_0)
(roletype object_r bluetooth_a2dp_offload_prop_28_0)
(type bluetooth_prop)
(typeattribute bluetooth_prop_28_0)
(roletype object_r bluetooth_prop_28_0)
(type bootloader_boot_reason_prop)
(typeattribute bootloader_boot_reason_prop_28_0)
(roletype object_r bootloader_boot_reason_prop_28_0)
(type config_prop)
(typeattribute config_prop_28_0)
(roletype object_r config_prop_28_0)
(type cppreopt_prop)
(typeattribute cppreopt_prop_28_0)
(roletype object_r cppreopt_prop_28_0)
(type ctl_bootanim_prop)
(typeattribute ctl_bootanim_prop_28_0)
(roletype object_r ctl_bootanim_prop_28_0)
(type ctl_bugreport_prop)
(typeattribute ctl_bugreport_prop_28_0)
(roletype object_r ctl_bugreport_prop_28_0)
(type ctl_console_prop)
(typeattribute ctl_console_prop_28_0)
(roletype object_r ctl_console_prop_28_0)
(type ctl_default_prop)
(typeattribute ctl_default_prop_28_0)
(roletype object_r ctl_default_prop_28_0)
(type ctl_dumpstate_prop)
(typeattribute ctl_dumpstate_prop_28_0)
(roletype object_r ctl_dumpstate_prop_28_0)
(type ctl_fuse_prop)
(typeattribute ctl_fuse_prop_28_0)
(roletype object_r ctl_fuse_prop_28_0)
(type ctl_interface_restart_prop)
(typeattribute ctl_interface_restart_prop_28_0)
(roletype object_r ctl_interface_restart_prop_28_0)
(type ctl_interface_start_prop)
(typeattribute ctl_interface_start_prop_28_0)
(roletype object_r ctl_interface_start_prop_28_0)
(type ctl_interface_stop_prop)
(typeattribute ctl_interface_stop_prop_28_0)
(roletype object_r ctl_interface_stop_prop_28_0)
(type ctl_mdnsd_prop)
(typeattribute ctl_mdnsd_prop_28_0)
(roletype object_r ctl_mdnsd_prop_28_0)
(type ctl_restart_prop)
(typeattribute ctl_restart_prop_28_0)
(roletype object_r ctl_restart_prop_28_0)
(type ctl_rildaemon_prop)
(typeattribute ctl_rildaemon_prop_28_0)
(roletype object_r ctl_rildaemon_prop_28_0)
(type ctl_sigstop_prop)
(typeattribute ctl_sigstop_prop_28_0)
(roletype object_r ctl_sigstop_prop_28_0)
(type ctl_start_prop)
(typeattribute ctl_start_prop_28_0)
(roletype object_r ctl_start_prop_28_0)
(type ctl_stop_prop)
(typeattribute ctl_stop_prop_28_0)
(roletype object_r ctl_stop_prop_28_0)
(type dalvik_prop)
(typeattribute dalvik_prop_28_0)
(roletype object_r dalvik_prop_28_0)
(type debuggerd_prop)
(typeattribute debuggerd_prop_28_0)
(roletype object_r debuggerd_prop_28_0)
(type debug_prop)
(typeattribute debug_prop_28_0)
(roletype object_r debug_prop_28_0)
(type default_prop)
(typeattribute default_prop_28_0)
(roletype object_r default_prop_28_0)
(type device_logging_prop)
(typeattribute device_logging_prop_28_0)
(roletype object_r device_logging_prop_28_0)
(type dhcp_prop)
(typeattribute dhcp_prop_28_0)
(roletype object_r dhcp_prop_28_0)
(type dumpstate_options_prop)
(typeattribute dumpstate_options_prop_28_0)
(roletype object_r dumpstate_options_prop_28_0)
(type dumpstate_prop)
(typeattribute dumpstate_prop_28_0)
(roletype object_r dumpstate_prop_28_0)
(type exported_secure_prop)
(typeattribute exported_secure_prop_28_0)
(roletype object_r exported_secure_prop_28_0)
(type ffs_prop)
(typeattribute ffs_prop_28_0)
(roletype object_r ffs_prop_28_0)
(type fingerprint_prop)
(typeattribute fingerprint_prop_28_0)
(roletype object_r fingerprint_prop_28_0)
(type firstboot_prop)
(typeattribute firstboot_prop_28_0)
(roletype object_r firstboot_prop_28_0)
(type hwservicemanager_prop)
(typeattribute hwservicemanager_prop_28_0)
(roletype object_r hwservicemanager_prop_28_0)
(type last_boot_reason_prop)
(typeattribute last_boot_reason_prop_28_0)
(roletype object_r last_boot_reason_prop_28_0)
(type logd_prop)
(typeattribute logd_prop_28_0)
(roletype object_r logd_prop_28_0)
(type logpersistd_logging_prop)
(typeattribute logpersistd_logging_prop_28_0)
(roletype object_r logpersistd_logging_prop_28_0)
(type log_prop)
(typeattribute log_prop_28_0)
(roletype object_r log_prop_28_0)
(type log_tag_prop)
(typeattribute log_tag_prop_28_0)
(roletype object_r log_tag_prop_28_0)
(type lowpan_prop)
(typeattribute lowpan_prop_28_0)
(roletype object_r lowpan_prop_28_0)
(type mmc_prop)
(typeattribute mmc_prop_28_0)
(roletype object_r mmc_prop_28_0)
(type net_dns_prop)
(typeattribute net_dns_prop_28_0)
(roletype object_r net_dns_prop_28_0)
(type net_radio_prop)
(typeattribute net_radio_prop_28_0)
(roletype object_r net_radio_prop_28_0)
(type netd_stable_secret_prop)
(typeattribute netd_stable_secret_prop_28_0)
(roletype object_r netd_stable_secret_prop_28_0)
(type nfc_prop)
(typeattribute nfc_prop_28_0)
(roletype object_r nfc_prop_28_0)
(type overlay_prop)
(typeattribute overlay_prop_28_0)
(roletype object_r overlay_prop_28_0)
(type pan_result_prop)
(typeattribute pan_result_prop_28_0)
(roletype object_r pan_result_prop_28_0)
(type persist_debug_prop)
(typeattribute persist_debug_prop_28_0)
(roletype object_r persist_debug_prop_28_0)
(type persistent_properties_ready_prop)
(typeattribute persistent_properties_ready_prop_28_0)
(roletype object_r persistent_properties_ready_prop_28_0)
(type pm_prop)
(typeattribute pm_prop_28_0)
(roletype object_r pm_prop_28_0)
(type powerctl_prop)
(typeattribute powerctl_prop_28_0)
(roletype object_r powerctl_prop_28_0)
(type radio_prop)
(typeattribute radio_prop_28_0)
(roletype object_r radio_prop_28_0)
(type restorecon_prop)
(typeattribute restorecon_prop_28_0)
(roletype object_r restorecon_prop_28_0)
(type safemode_prop)
(typeattribute safemode_prop_28_0)
(roletype object_r safemode_prop_28_0)
(type serialno_prop)
(typeattribute serialno_prop_28_0)
(roletype object_r serialno_prop_28_0)
(type shell_prop)
(typeattribute shell_prop_28_0)
(roletype object_r shell_prop_28_0)
(type system_boot_reason_prop)
(typeattribute system_boot_reason_prop_28_0)
(roletype object_r system_boot_reason_prop_28_0)
(type system_prop)
(typeattribute system_prop_28_0)
(roletype object_r system_prop_28_0)
(type system_radio_prop)
(typeattribute system_radio_prop_28_0)
(roletype object_r system_radio_prop_28_0)
(type test_boot_reason_prop)
(typeattribute test_boot_reason_prop_28_0)
(roletype object_r test_boot_reason_prop_28_0)
(type traced_enabled_prop)
(typeattribute traced_enabled_prop_28_0)
(roletype object_r traced_enabled_prop_28_0)
(type vold_prop)
(typeattribute vold_prop_28_0)
(roletype object_r vold_prop_28_0)
(type wifi_log_prop)
(typeattribute wifi_log_prop_28_0)
(roletype object_r wifi_log_prop_28_0)
(type wifi_prop)
(typeattribute wifi_prop_28_0)
(roletype object_r wifi_prop_28_0)
(type vendor_security_patch_level_prop)
(typeattribute vendor_security_patch_level_prop_28_0)
(roletype object_r vendor_security_patch_level_prop_28_0)
(type exported_audio_prop)
(typeattribute exported_audio_prop_28_0)
(roletype object_r exported_audio_prop_28_0)
(type exported_bluetooth_prop)
(typeattribute exported_bluetooth_prop_28_0)
(roletype object_r exported_bluetooth_prop_28_0)
(type exported_config_prop)
(typeattribute exported_config_prop_28_0)
(roletype object_r exported_config_prop_28_0)
(type exported_dalvik_prop)
(typeattribute exported_dalvik_prop_28_0)
(roletype object_r exported_dalvik_prop_28_0)
(type exported_default_prop)
(typeattribute exported_default_prop_28_0)
(roletype object_r exported_default_prop_28_0)
(type exported_dumpstate_prop)
(typeattribute exported_dumpstate_prop_28_0)
(roletype object_r exported_dumpstate_prop_28_0)
(type exported_ffs_prop)
(typeattribute exported_ffs_prop_28_0)
(roletype object_r exported_ffs_prop_28_0)
(type exported_fingerprint_prop)
(typeattribute exported_fingerprint_prop_28_0)
(roletype object_r exported_fingerprint_prop_28_0)
(type exported_overlay_prop)
(typeattribute exported_overlay_prop_28_0)
(roletype object_r exported_overlay_prop_28_0)
(type exported_pm_prop)
(typeattribute exported_pm_prop_28_0)
(roletype object_r exported_pm_prop_28_0)
(type exported_radio_prop)
(typeattribute exported_radio_prop_28_0)
(roletype object_r exported_radio_prop_28_0)
(type exported_system_prop)
(typeattribute exported_system_prop_28_0)
(roletype object_r exported_system_prop_28_0)
(type exported_system_radio_prop)
(typeattribute exported_system_radio_prop_28_0)
(roletype object_r exported_system_radio_prop_28_0)
(type exported_vold_prop)
(typeattribute exported_vold_prop_28_0)
(roletype object_r exported_vold_prop_28_0)
(type exported_wifi_prop)
(typeattribute exported_wifi_prop_28_0)
(roletype object_r exported_wifi_prop_28_0)
(type exported2_config_prop)
(typeattribute exported2_config_prop_28_0)
(roletype object_r exported2_config_prop_28_0)
(type exported2_default_prop)
(typeattribute exported2_default_prop_28_0)
(roletype object_r exported2_default_prop_28_0)
(type exported2_radio_prop)
(typeattribute exported2_radio_prop_28_0)
(roletype object_r exported2_radio_prop_28_0)
(type exported2_system_prop)
(typeattribute exported2_system_prop_28_0)
(roletype object_r exported2_system_prop_28_0)
(type exported2_vold_prop)
(typeattribute exported2_vold_prop_28_0)
(roletype object_r exported2_vold_prop_28_0)
(type exported3_default_prop)
(typeattribute exported3_default_prop_28_0)
(roletype object_r exported3_default_prop_28_0)
(type exported3_radio_prop)
(typeattribute exported3_radio_prop_28_0)
(roletype object_r exported3_radio_prop_28_0)
(type exported3_system_prop)
(typeattribute exported3_system_prop_28_0)
(roletype object_r exported3_system_prop_28_0)
(type vendor_default_prop)
(typeattribute vendor_default_prop_28_0)
(roletype object_r vendor_default_prop_28_0)
(type racoon)
(typeattribute racoon_28_0)
(roletype object_r racoon_28_0)
(type racoon_exec)
(typeattribute racoon_exec_28_0)
(roletype object_r racoon_exec_28_0)
(type radio)
(typeattribute radio_28_0)
(roletype object_r radio_28_0)
(type recovery)
(typeattribute recovery_28_0)
(roletype object_r recovery_28_0)
(type recovery_persist)
(typeattribute recovery_persist_28_0)
(roletype object_r recovery_persist_28_0)
(type recovery_persist_exec)
(typeattribute recovery_persist_exec_28_0)
(roletype object_r recovery_persist_exec_28_0)
(type recovery_refresh)
(typeattribute recovery_refresh_28_0)
(roletype object_r recovery_refresh_28_0)
(type recovery_refresh_exec)
(typeattribute recovery_refresh_exec_28_0)
(roletype object_r recovery_refresh_exec_28_0)
(type runas)
(typeattribute runas_28_0)
(roletype object_r runas_28_0)
(type runas_exec)
(typeattribute runas_exec_28_0)
(roletype object_r runas_exec_28_0)
(type sdcardd)
(typeattribute sdcardd_28_0)
(roletype object_r sdcardd_28_0)
(type sdcardd_exec)
(typeattribute sdcardd_exec_28_0)
(roletype object_r sdcardd_exec_28_0)
(type secure_element)
(typeattribute secure_element_28_0)
(roletype object_r secure_element_28_0)
(type audioserver_service)
(typeattribute audioserver_service_28_0)
(roletype object_r audioserver_service_28_0)
(type batteryproperties_service)
(typeattribute batteryproperties_service_28_0)
(roletype object_r batteryproperties_service_28_0)
(type bluetooth_service)
(typeattribute bluetooth_service_28_0)
(roletype object_r bluetooth_service_28_0)
(type cameraserver_service)
(typeattribute cameraserver_service_28_0)
(roletype object_r cameraserver_service_28_0)
(type default_android_service)
(typeattribute default_android_service_28_0)
(roletype object_r default_android_service_28_0)
(type drmserver_service)
(typeattribute drmserver_service_28_0)
(roletype object_r drmserver_service_28_0)
(type dumpstate_service)
(typeattribute dumpstate_service_28_0)
(roletype object_r dumpstate_service_28_0)
(type fingerprintd_service)
(typeattribute fingerprintd_service_28_0)
(roletype object_r fingerprintd_service_28_0)
(type hal_fingerprint_service)
(typeattribute hal_fingerprint_service_28_0)
(roletype object_r hal_fingerprint_service_28_0)
(type gatekeeper_service)
(typeattribute gatekeeper_service_28_0)
(roletype object_r gatekeeper_service_28_0)
(type gpu_service)
(typeattribute gpu_service_28_0)
(roletype object_r gpu_service_28_0)
(type inputflinger_service)
(typeattribute inputflinger_service_28_0)
(roletype object_r inputflinger_service_28_0)
(type incident_service)
(typeattribute incident_service_28_0)
(roletype object_r incident_service_28_0)
(type installd_service)
(typeattribute installd_service_28_0)
(roletype object_r installd_service_28_0)
(type keystore_service)
(typeattribute keystore_service_28_0)
(roletype object_r keystore_service_28_0)
(type mediaserver_service)
(typeattribute mediaserver_service_28_0)
(roletype object_r mediaserver_service_28_0)
(type mediametrics_service)
(typeattribute mediametrics_service_28_0)
(roletype object_r mediametrics_service_28_0)
(type mediaextractor_service)
(typeattribute mediaextractor_service_28_0)
(roletype object_r mediaextractor_service_28_0)
(type mediaextractor_update_service)
(typeattribute mediaextractor_update_service_28_0)
(roletype object_r mediaextractor_update_service_28_0)
(type mediacodec_service)
(typeattribute mediacodec_service_28_0)
(roletype object_r mediacodec_service_28_0)
(type mediadrmserver_service)
(typeattribute mediadrmserver_service_28_0)
(roletype object_r mediadrmserver_service_28_0)
(type netd_service)
(typeattribute netd_service_28_0)
(roletype object_r netd_service_28_0)
(type nfc_service)
(typeattribute nfc_service_28_0)
(roletype object_r nfc_service_28_0)
(type perfprofd_service)
(typeattribute perfprofd_service_28_0)
(roletype object_r perfprofd_service_28_0)
(type radio_service)
(typeattribute radio_service_28_0)
(roletype object_r radio_service_28_0)
(type secure_element_service)
(typeattribute secure_element_service_28_0)
(roletype object_r secure_element_service_28_0)
(type storaged_service)
(typeattribute storaged_service_28_0)
(roletype object_r storaged_service_28_0)
(type surfaceflinger_service)
(typeattribute surfaceflinger_service_28_0)
(roletype object_r surfaceflinger_service_28_0)
(type system_app_service)
(typeattribute system_app_service_28_0)
(roletype object_r system_app_service_28_0)
(type thermal_service)
(typeattribute thermal_service_28_0)
(roletype object_r thermal_service_28_0)
(type update_engine_service)
(typeattribute update_engine_service_28_0)
(roletype object_r update_engine_service_28_0)
(type virtual_touchpad_service)
(typeattribute virtual_touchpad_service_28_0)
(roletype object_r virtual_touchpad_service_28_0)
(type vold_service)
(typeattribute vold_service_28_0)
(roletype object_r vold_service_28_0)
(type vr_hwc_service)
(typeattribute vr_hwc_service_28_0)
(roletype object_r vr_hwc_service_28_0)
(type accessibility_service)
(typeattribute accessibility_service_28_0)
(roletype object_r accessibility_service_28_0)
(type account_service)
(typeattribute account_service_28_0)
(roletype object_r account_service_28_0)
(type activity_service)
(typeattribute activity_service_28_0)
(roletype object_r activity_service_28_0)
(type alarm_service)
(typeattribute alarm_service_28_0)
(roletype object_r alarm_service_28_0)
(type appops_service)
(typeattribute appops_service_28_0)
(roletype object_r appops_service_28_0)
(type appwidget_service)
(typeattribute appwidget_service_28_0)
(roletype object_r appwidget_service_28_0)
(type assetatlas_service)
(typeattribute assetatlas_service_28_0)
(roletype object_r assetatlas_service_28_0)
(type audio_service)
(typeattribute audio_service_28_0)
(roletype object_r audio_service_28_0)
(type autofill_service)
(typeattribute autofill_service_28_0)
(roletype object_r autofill_service_28_0)
(type backup_service)
(typeattribute backup_service_28_0)
(roletype object_r backup_service_28_0)
(type batterystats_service)
(typeattribute batterystats_service_28_0)
(roletype object_r batterystats_service_28_0)
(type battery_service)
(typeattribute battery_service_28_0)
(roletype object_r battery_service_28_0)
(type binder_calls_stats_service)
(typeattribute binder_calls_stats_service_28_0)
(roletype object_r binder_calls_stats_service_28_0)
(type bluetooth_manager_service)
(typeattribute bluetooth_manager_service_28_0)
(roletype object_r bluetooth_manager_service_28_0)
(type broadcastradio_service)
(typeattribute broadcastradio_service_28_0)
(roletype object_r broadcastradio_service_28_0)
(type cameraproxy_service)
(typeattribute cameraproxy_service_28_0)
(roletype object_r cameraproxy_service_28_0)
(type clipboard_service)
(typeattribute clipboard_service_28_0)
(roletype object_r clipboard_service_28_0)
(type contexthub_service)
(typeattribute contexthub_service_28_0)
(roletype object_r contexthub_service_28_0)
(type crossprofileapps_service)
(typeattribute crossprofileapps_service_28_0)
(roletype object_r crossprofileapps_service_28_0)
(type IProxyService_service)
(typeattribute IProxyService_service_28_0)
(roletype object_r IProxyService_service_28_0)
(type commontime_management_service)
(typeattribute commontime_management_service_28_0)
(roletype object_r commontime_management_service_28_0)
(type companion_device_service)
(typeattribute companion_device_service_28_0)
(roletype object_r companion_device_service_28_0)
(type connectivity_service)
(typeattribute connectivity_service_28_0)
(roletype object_r connectivity_service_28_0)
(type connmetrics_service)
(typeattribute connmetrics_service_28_0)
(roletype object_r connmetrics_service_28_0)
(type consumer_ir_service)
(typeattribute consumer_ir_service_28_0)
(roletype object_r consumer_ir_service_28_0)
(type content_service)
(typeattribute content_service_28_0)
(roletype object_r content_service_28_0)
(type country_detector_service)
(typeattribute country_detector_service_28_0)
(roletype object_r country_detector_service_28_0)
(type coverage_service)
(typeattribute coverage_service_28_0)
(roletype object_r coverage_service_28_0)
(type cpuinfo_service)
(typeattribute cpuinfo_service_28_0)
(roletype object_r cpuinfo_service_28_0)
(type dbinfo_service)
(typeattribute dbinfo_service_28_0)
(roletype object_r dbinfo_service_28_0)
(type device_policy_service)
(typeattribute device_policy_service_28_0)
(roletype object_r device_policy_service_28_0)
(type deviceidle_service)
(typeattribute deviceidle_service_28_0)
(roletype object_r deviceidle_service_28_0)
(type device_identifiers_service)
(typeattribute device_identifiers_service_28_0)
(roletype object_r device_identifiers_service_28_0)
(type devicestoragemonitor_service)
(typeattribute devicestoragemonitor_service_28_0)
(roletype object_r devicestoragemonitor_service_28_0)
(type diskstats_service)
(typeattribute diskstats_service_28_0)
(roletype object_r diskstats_service_28_0)
(type display_service)
(typeattribute display_service_28_0)
(roletype object_r display_service_28_0)
(type font_service)
(typeattribute font_service_28_0)
(roletype object_r font_service_28_0)
(type netd_listener_service)
(typeattribute netd_listener_service_28_0)
(roletype object_r netd_listener_service_28_0)
(type network_watchlist_service)
(typeattribute network_watchlist_service_28_0)
(roletype object_r network_watchlist_service_28_0)
(type DockObserver_service)
(typeattribute DockObserver_service_28_0)
(roletype object_r DockObserver_service_28_0)
(type dreams_service)
(typeattribute dreams_service_28_0)
(roletype object_r dreams_service_28_0)
(type dropbox_service)
(typeattribute dropbox_service_28_0)
(roletype object_r dropbox_service_28_0)
(type lowpan_service)
(typeattribute lowpan_service_28_0)
(roletype object_r lowpan_service_28_0)
(type ethernet_service)
(typeattribute ethernet_service_28_0)
(roletype object_r ethernet_service_28_0)
(type fingerprint_service)
(typeattribute fingerprint_service_28_0)
(roletype object_r fingerprint_service_28_0)
(type gfxinfo_service)
(typeattribute gfxinfo_service_28_0)
(roletype object_r gfxinfo_service_28_0)
(type graphicsstats_service)
(typeattribute graphicsstats_service_28_0)
(roletype object_r graphicsstats_service_28_0)
(type hardware_service)
(typeattribute hardware_service_28_0)
(roletype object_r hardware_service_28_0)
(type hardware_properties_service)
(typeattribute hardware_properties_service_28_0)
(roletype object_r hardware_properties_service_28_0)
(type hdmi_control_service)
(typeattribute hdmi_control_service_28_0)
(roletype object_r hdmi_control_service_28_0)
(type input_method_service)
(typeattribute input_method_service_28_0)
(roletype object_r input_method_service_28_0)
(type input_service)
(typeattribute input_service_28_0)
(roletype object_r input_service_28_0)
(type imms_service)
(typeattribute imms_service_28_0)
(roletype object_r imms_service_28_0)
(type ipsec_service)
(typeattribute ipsec_service_28_0)
(roletype object_r ipsec_service_28_0)
(type jobscheduler_service)
(typeattribute jobscheduler_service_28_0)
(roletype object_r jobscheduler_service_28_0)
(type launcherapps_service)
(typeattribute launcherapps_service_28_0)
(roletype object_r launcherapps_service_28_0)
(type location_service)
(typeattribute location_service_28_0)
(roletype object_r location_service_28_0)
(type lock_settings_service)
(typeattribute lock_settings_service_28_0)
(roletype object_r lock_settings_service_28_0)
(type media_projection_service)
(typeattribute media_projection_service_28_0)
(roletype object_r media_projection_service_28_0)
(type media_router_service)
(typeattribute media_router_service_28_0)
(roletype object_r media_router_service_28_0)
(type media_session_service)
(typeattribute media_session_service_28_0)
(roletype object_r media_session_service_28_0)
(type meminfo_service)
(typeattribute meminfo_service_28_0)
(roletype object_r meminfo_service_28_0)
(type midi_service)
(typeattribute midi_service_28_0)
(roletype object_r midi_service_28_0)
(type mount_service)
(typeattribute mount_service_28_0)
(roletype object_r mount_service_28_0)
(type netpolicy_service)
(typeattribute netpolicy_service_28_0)
(roletype object_r netpolicy_service_28_0)
(type netstats_service)
(typeattribute netstats_service_28_0)
(roletype object_r netstats_service_28_0)
(type network_management_service)
(typeattribute network_management_service_28_0)
(roletype object_r network_management_service_28_0)
(type network_score_service)
(typeattribute network_score_service_28_0)
(roletype object_r network_score_service_28_0)
(type network_time_update_service)
(typeattribute network_time_update_service_28_0)
(roletype object_r network_time_update_service_28_0)
(type notification_service)
(typeattribute notification_service_28_0)
(roletype object_r notification_service_28_0)
(type oem_lock_service)
(typeattribute oem_lock_service_28_0)
(roletype object_r oem_lock_service_28_0)
(type otadexopt_service)
(typeattribute otadexopt_service_28_0)
(roletype object_r otadexopt_service_28_0)
(type overlay_service)
(typeattribute overlay_service_28_0)
(roletype object_r overlay_service_28_0)
(type package_service)
(typeattribute package_service_28_0)
(roletype object_r package_service_28_0)
(type package_native_service)
(typeattribute package_native_service_28_0)
(roletype object_r package_native_service_28_0)
(type permission_service)
(typeattribute permission_service_28_0)
(roletype object_r permission_service_28_0)
(type persistent_data_block_service)
(typeattribute persistent_data_block_service_28_0)
(roletype object_r persistent_data_block_service_28_0)
(type pinner_service)
(typeattribute pinner_service_28_0)
(roletype object_r pinner_service_28_0)
(type power_service)
(typeattribute power_service_28_0)
(roletype object_r power_service_28_0)
(type print_service)
(typeattribute print_service_28_0)
(roletype object_r print_service_28_0)
(type processinfo_service)
(typeattribute processinfo_service_28_0)
(roletype object_r processinfo_service_28_0)
(type procstats_service)
(typeattribute procstats_service_28_0)
(roletype object_r procstats_service_28_0)
(type recovery_service)
(typeattribute recovery_service_28_0)
(roletype object_r recovery_service_28_0)
(type registry_service)
(typeattribute registry_service_28_0)
(roletype object_r registry_service_28_0)
(type restrictions_service)
(typeattribute restrictions_service_28_0)
(roletype object_r restrictions_service_28_0)
(type rttmanager_service)
(typeattribute rttmanager_service_28_0)
(roletype object_r rttmanager_service_28_0)
(type samplingprofiler_service)
(typeattribute samplingprofiler_service_28_0)
(roletype object_r samplingprofiler_service_28_0)
(type scheduling_policy_service)
(typeattribute scheduling_policy_service_28_0)
(roletype object_r scheduling_policy_service_28_0)
(type search_service)
(typeattribute search_service_28_0)
(roletype object_r search_service_28_0)
(type sec_key_att_app_id_provider_service)
(typeattribute sec_key_att_app_id_provider_service_28_0)
(roletype object_r sec_key_att_app_id_provider_service_28_0)
(type sensorservice_service)
(typeattribute sensorservice_service_28_0)
(roletype object_r sensorservice_service_28_0)
(type serial_service)
(typeattribute serial_service_28_0)
(roletype object_r serial_service_28_0)
(type servicediscovery_service)
(typeattribute servicediscovery_service_28_0)
(roletype object_r servicediscovery_service_28_0)
(type settings_service)
(typeattribute settings_service_28_0)
(roletype object_r settings_service_28_0)
(type shortcut_service)
(typeattribute shortcut_service_28_0)
(roletype object_r shortcut_service_28_0)
(type slice_service)
(typeattribute slice_service_28_0)
(roletype object_r slice_service_28_0)
(type statusbar_service)
(typeattribute statusbar_service_28_0)
(roletype object_r statusbar_service_28_0)
(type storagestats_service)
(typeattribute storagestats_service_28_0)
(roletype object_r storagestats_service_28_0)
(type system_update_service)
(typeattribute system_update_service_28_0)
(roletype object_r system_update_service_28_0)
(type task_service)
(typeattribute task_service_28_0)
(roletype object_r task_service_28_0)
(type textclassification_service)
(typeattribute textclassification_service_28_0)
(roletype object_r textclassification_service_28_0)
(type textservices_service)
(typeattribute textservices_service_28_0)
(roletype object_r textservices_service_28_0)
(type telecom_service)
(typeattribute telecom_service_28_0)
(roletype object_r telecom_service_28_0)
(type timezone_service)
(typeattribute timezone_service_28_0)
(roletype object_r timezone_service_28_0)
(type trust_service)
(typeattribute trust_service_28_0)
(roletype object_r trust_service_28_0)
(type tv_input_service)
(typeattribute tv_input_service_28_0)
(roletype object_r tv_input_service_28_0)
(type uimode_service)
(typeattribute uimode_service_28_0)
(roletype object_r uimode_service_28_0)
(type updatelock_service)
(typeattribute updatelock_service_28_0)
(roletype object_r updatelock_service_28_0)
(type usagestats_service)
(typeattribute usagestats_service_28_0)
(roletype object_r usagestats_service_28_0)
(type usb_service)
(typeattribute usb_service_28_0)
(roletype object_r usb_service_28_0)
(type user_service)
(typeattribute user_service_28_0)
(roletype object_r user_service_28_0)
(type vibrator_service)
(typeattribute vibrator_service_28_0)
(roletype object_r vibrator_service_28_0)
(type voiceinteraction_service)
(typeattribute voiceinteraction_service_28_0)
(roletype object_r voiceinteraction_service_28_0)
(type vr_manager_service)
(typeattribute vr_manager_service_28_0)
(roletype object_r vr_manager_service_28_0)
(type wallpaper_service)
(typeattribute wallpaper_service_28_0)
(roletype object_r wallpaper_service_28_0)
(type webviewupdate_service)
(typeattribute webviewupdate_service_28_0)
(roletype object_r webviewupdate_service_28_0)
(type wifip2p_service)
(typeattribute wifip2p_service_28_0)
(roletype object_r wifip2p_service_28_0)
(type wifiscanner_service)
(typeattribute wifiscanner_service_28_0)
(roletype object_r wifiscanner_service_28_0)
(type wifi_service)
(typeattribute wifi_service_28_0)
(roletype object_r wifi_service_28_0)
(type wificond_service)
(typeattribute wificond_service_28_0)
(roletype object_r wificond_service_28_0)
(type wifiaware_service)
(typeattribute wifiaware_service_28_0)
(roletype object_r wifiaware_service_28_0)
(type window_service)
(typeattribute window_service_28_0)
(roletype object_r window_service_28_0)
(type wpantund_service)
(typeattribute wpantund_service_28_0)
(roletype object_r wpantund_service_28_0)
(type servicemanager)
(typeattribute servicemanager_28_0)
(roletype object_r servicemanager_28_0)
(type servicemanager_exec)
(typeattribute servicemanager_exec_28_0)
(roletype object_r servicemanager_exec_28_0)
(type sgdisk)
(typeattribute sgdisk_28_0)
(roletype object_r sgdisk_28_0)
(type sgdisk_exec)
(typeattribute sgdisk_exec_28_0)
(roletype object_r sgdisk_exec_28_0)
(type shared_relro)
(typeattribute shared_relro_28_0)
(roletype object_r shared_relro_28_0)
(type shell)
(typeattribute shell_28_0)
(roletype object_r shell_28_0)
(type shell_exec)
(typeattribute shell_exec_28_0)
(roletype object_r shell_exec_28_0)
(type slideshow)
(typeattribute slideshow_28_0)
(roletype object_r slideshow_28_0)
(type su)
(typeattribute su_28_0)
(roletype object_r su_28_0)
(type su_exec)
(typeattribute su_exec_28_0)
(roletype object_r su_exec_28_0)
(type surfaceflinger)
(typeattribute surfaceflinger_28_0)
(roletype object_r surfaceflinger_28_0)
(type system_app)
(typeattribute system_app_28_0)
(roletype object_r system_app_28_0)
(type system_server)
(typeattribute system_server_28_0)
(roletype object_r system_server_28_0)
(type tee)
(typeattribute tee_28_0)
(roletype object_r tee_28_0)
(type tee_device)
(typeattribute tee_device_28_0)
(roletype object_r tee_device_28_0)
(type thermalserviced)
(typeattribute thermalserviced_28_0)
(roletype object_r thermalserviced_28_0)
(type thermalserviced_exec)
(typeattribute thermalserviced_exec_28_0)
(roletype object_r thermalserviced_exec_28_0)
(type tombstoned)
(typeattribute tombstoned_28_0)
(roletype object_r tombstoned_28_0)
(type tombstoned_exec)
(typeattribute tombstoned_exec_28_0)
(roletype object_r tombstoned_exec_28_0)
(type toolbox)
(typeattribute toolbox_28_0)
(roletype object_r toolbox_28_0)
(type toolbox_exec)
(typeattribute toolbox_exec_28_0)
(roletype object_r toolbox_exec_28_0)
(type traced_probes)
(typeattribute traced_probes_28_0)
(roletype object_r traced_probes_28_0)
(type traceur_app)
(typeattribute traceur_app_28_0)
(roletype object_r traceur_app_28_0)
(type tzdatacheck)
(typeattribute tzdatacheck_28_0)
(roletype object_r tzdatacheck_28_0)
(type tzdatacheck_exec)
(typeattribute tzdatacheck_exec_28_0)
(roletype object_r tzdatacheck_exec_28_0)
(type ueventd)
(typeattribute ueventd_28_0)
(roletype object_r ueventd_28_0)
(type uncrypt)
(typeattribute uncrypt_28_0)
(roletype object_r uncrypt_28_0)
(type uncrypt_exec)
(typeattribute uncrypt_exec_28_0)
(roletype object_r uncrypt_exec_28_0)
(type untrusted_app)
(typeattribute untrusted_app_28_0)
(roletype object_r untrusted_app_28_0)
(type untrusted_app_27)
(typeattribute untrusted_app_27_28_0)
(roletype object_r untrusted_app_27_28_0)
(type untrusted_app_25)
(typeattribute untrusted_app_25_28_0)
(roletype object_r untrusted_app_25_28_0)
(type untrusted_v2_app)
(typeattribute untrusted_v2_app_28_0)
(roletype object_r untrusted_v2_app_28_0)
(type update_engine)
(typeattribute update_engine_28_0)
(roletype object_r update_engine_28_0)
(type update_engine_exec)
(typeattribute update_engine_exec_28_0)
(roletype object_r update_engine_exec_28_0)
(type update_verifier)
(typeattribute update_verifier_28_0)
(roletype object_r update_verifier_28_0)
(type update_verifier_exec)
(typeattribute update_verifier_exec_28_0)
(roletype object_r update_verifier_exec_28_0)
(type usbd)
(typeattribute usbd_28_0)
(roletype object_r usbd_28_0)
(type usbd_exec)
(typeattribute usbd_exec_28_0)
(roletype object_r usbd_exec_28_0)
(type vdc)
(typeattribute vdc_28_0)
(roletype object_r vdc_28_0)
(type vdc_exec)
(typeattribute vdc_exec_28_0)
(roletype object_r vdc_exec_28_0)
(type vendor_init)
(typeattribute vendor_init_28_0)
(roletype object_r vendor_init_28_0)
(type vendor_shell)
(typeattribute vendor_shell_28_0)
(roletype object_r vendor_shell_28_0)
(type vendor_shell_exec)
(typeattribute vendor_shell_exec_28_0)
(roletype object_r vendor_shell_exec_28_0)
(type vendor_toolbox_exec)
(typeattribute vendor_toolbox_exec_28_0)
(roletype object_r vendor_toolbox_exec_28_0)
(type virtual_touchpad)
(typeattribute virtual_touchpad_28_0)
(roletype object_r virtual_touchpad_28_0)
(type virtual_touchpad_exec)
(typeattribute virtual_touchpad_exec_28_0)
(roletype object_r virtual_touchpad_exec_28_0)
(type default_android_vndservice)
(typeattribute default_android_vndservice_28_0)
(roletype object_r default_android_vndservice_28_0)
(type vndservicemanager)
(typeattribute vndservicemanager_28_0)
(roletype object_r vndservicemanager_28_0)
(type vold)
(typeattribute vold_28_0)
(roletype object_r vold_28_0)
(type vold_exec)
(typeattribute vold_exec_28_0)
(roletype object_r vold_exec_28_0)
(type vold_prepare_subdirs)
(typeattribute vold_prepare_subdirs_28_0)
(roletype object_r vold_prepare_subdirs_28_0)
(type vold_prepare_subdirs_exec)
(typeattribute vold_prepare_subdirs_exec_28_0)
(roletype object_r vold_prepare_subdirs_exec_28_0)
(type vr_hwc)
(typeattribute vr_hwc_28_0)
(roletype object_r vr_hwc_28_0)
(type vr_hwc_exec)
(typeattribute vr_hwc_exec_28_0)
(roletype object_r vr_hwc_exec_28_0)
(type watchdogd)
(typeattribute watchdogd_28_0)
(roletype object_r watchdogd_28_0)
(type webview_zygote)
(typeattribute webview_zygote_28_0)
(roletype object_r webview_zygote_28_0)
(type webview_zygote_exec)
(typeattribute webview_zygote_exec_28_0)
(roletype object_r webview_zygote_exec_28_0)
(type wificond)
(typeattribute wificond_28_0)
(roletype object_r wificond_28_0)
(type wificond_exec)
(typeattribute wificond_exec_28_0)
(roletype object_r wificond_exec_28_0)
(type wpantund)
(typeattribute wpantund_28_0)
(roletype object_r wpantund_28_0)
(type wpantund_exec)
(typeattribute wpantund_exec_28_0)
(roletype object_r wpantund_exec_28_0)
(type zygote)
(typeattribute zygote_28_0)
(roletype object_r zygote_28_0)
(type zygote_exec)
(typeattribute zygote_exec_28_0)
(roletype object_r zygote_exec_28_0)
(neverallow base_typeattr_1_28_0 domain (process (fork)))
(neverallow base_typeattr_2_28_0 domain (process (fork)))
(neverallow base_typeattr_3_28_0 domain (process (fork)))
(neverallow base_typeattr_4_28_0 domain (process (fork)))
(neverallow base_typeattr_5_28_0 domain (process (fork)))
(neverallow base_typeattr_6_28_0 domain (process (fork)))
(neverallow base_typeattr_7_28_0 domain (process (fork)))
(neverallow base_typeattr_8_28_0 domain (process (fork)))
(neverallow base_typeattr_9_28_0 domain (process (fork)))
(neverallow base_typeattr_10_28_0 domain (process (fork)))
(neverallow base_typeattr_11_28_0 domain (process (fork)))
(neverallow base_typeattr_12_28_0 domain (process (fork)))
(neverallow base_typeattr_13_28_0 domain (process (fork)))
(neverallow base_typeattr_14_28_0 domain (process (fork)))
(neverallow base_typeattr_15_28_0 domain (process (fork)))
(neverallow base_typeattr_16_28_0 domain (process (fork)))
(neverallow base_typeattr_17_28_0 domain (process (fork)))
(neverallow base_typeattr_18_28_0 domain (process (fork)))
(neverallow base_typeattr_19_28_0 domain (process (fork)))
(neverallow base_typeattr_20_28_0 domain (process (fork)))
(neverallow base_typeattr_21_28_0 domain (process (fork)))
(neverallow base_typeattr_22_28_0 domain (process (fork)))
(neverallow base_typeattr_23_28_0 domain (process (fork)))
(neverallow base_typeattr_24_28_0 domain (process (fork)))
(neverallow base_typeattr_25_28_0 domain (process (fork)))
(neverallow base_typeattr_26_28_0 domain (process (fork)))
(neverallow base_typeattr_27_28_0 domain (process (fork)))
(neverallow base_typeattr_28_28_0 domain (process (fork)))
(neverallow base_typeattr_29_28_0 domain (process (fork)))
(neverallow base_typeattr_30_28_0 domain (process (fork)))
(neverallow base_typeattr_31_28_0 domain (process (fork)))
(neverallow base_typeattr_32_28_0 domain (process (fork)))
(neverallow base_typeattr_33_28_0 domain (process (fork)))
(neverallow base_typeattr_34_28_0 domain (process (fork)))
(neverallow base_typeattr_35_28_0 domain (process (fork)))
(neverallow base_typeattr_36_28_0 domain (process (fork)))
(neverallow base_typeattr_37_28_0 domain (process (fork)))
(neverallow base_typeattr_38_28_0 domain (process (fork)))
(neverallow base_typeattr_39_28_0 domain (process (fork)))
(neverallow base_typeattr_40_28_0 domain (process (fork)))
(neverallow base_typeattr_41_28_0 domain (process (fork)))
(neverallow base_typeattr_42_28_0 domain (process (fork)))
(allow appdomain self (process (execmem)))
(allow appdomain ashmem_device_28_0 (chr_file (execute)))
(allow appdomain zygote_28_0 (fd (use)))
(allow appdomain zygote_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow appdomain zygote_28_0 (process (sigchld)))
(allow appdomain cgroup_28_0 (dir (write search)))
(allow appdomain cgroup_28_0 (file (ioctl read write getattr lock append map open)))
(allow appdomain dalvikcache_data_file_28_0 (dir (getattr search)))
(allow appdomain dalvikcache_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow base_typeattr_43_28_0 rootfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow base_typeattr_43_28_0 tmpfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow appdomain tmpfs_28_0 (dir (ioctl read getattr lock search open)))
(allow appdomain zygote_28_0 (fifo_file (write)))
(allow appdomain method_trace_data_file_28_0 (dir (write lock add_name remove_name search open)))
(allow appdomain method_trace_data_file_28_0 (file (write create lock append map open)))
(allow appdomain shell_28_0 (process (sigchld)))
(allow appdomain adbd_28_0 (process (sigchld)))
(allow appdomain devpts_28_0 (chr_file (ioctl read write getattr)))
(allow appdomain system_server_28_0 (fd (use)))
(allow appdomain system_server_28_0 (fifo_file (ioctl read write getattr lock append map open)))
(allow appdomain system_server_28_0 (unix_stream_socket (read write getattr getopt setopt shutdown)))
(allow appdomain system_server_28_0 (tcp_socket (read write getattr getopt shutdown)))
(allow appdomain appdomain (fifo_file (ioctl read write getattr lock append map open)))
(allow appdomain surfaceflinger_28_0 (unix_stream_socket (read write getattr getopt setopt shutdown)))
(allow base_typeattr_43_28_0 app_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow base_typeattr_43_28_0 app_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow base_typeattr_43_28_0 app_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow base_typeattr_43_28_0 app_data_file_28_0 (sock_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow base_typeattr_43_28_0 app_data_file_28_0 (fifo_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow appdomain mnt_expand_file_28_0 (dir (ioctl read getattr lock search open)))
(allow appdomain keychain_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow appdomain keychain_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain keychain_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow appdomain misc_user_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow appdomain misc_user_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow base_typeattr_43_28_0 textclassifier_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow base_typeattr_43_28_0 textclassifier_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow base_typeattr_43_28_0 textclassifier_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow appdomain oemfs_28_0 (dir (ioctl read getattr lock search open)))
(allow appdomain oemfs_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow base_typeattr_44_28_0 shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow base_typeattr_44_28_0 toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow base_typeattr_45_28_0 system_file_28_0 (file (getattr map execute execute_no_trans)))
(allow appdomain system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow appdomain system_file_28_0 (lnk_file (read getattr open)))
(allow base_typeattr_43_28_0 vendor_file_28_0 (dir (read open)))
(allow base_typeattr_44_28_0 vendor_app_file_28_0 (dir (ioctl read getattr lock search open)))
(allow base_typeattr_44_28_0 vendor_app_file_28_0 (file (ioctl read getattr lock map open)))
(allow base_typeattr_44_28_0 vendor_app_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow base_typeattr_44_28_0 vendor_app_file_28_0 (file (execute)))
(allow appdomain vendor_overlay_file_28_0 (dir (ioctl read getattr lock search open)))
(allow appdomain vendor_overlay_file_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain vendor_overlay_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow appdomain vendor_framework_file_28_0 (dir (ioctl read getattr lock search open)))
(allow appdomain vendor_framework_file_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain vendor_framework_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow appdomain dex2oat_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow appdomain wallpaper_file_28_0 (file (read write getattr)))
(allow appdomain ringtone_file_28_0 (file (read write getattr)))
(allow appdomain shortcut_manager_icons_28_0 (file (read getattr)))
(allow appdomain icon_file_28_0 (file (read getattr)))
(allow appdomain anr_data_file_28_0 (dir (search)))
(allow appdomain anr_data_file_28_0 (file (append open)))
(allow appdomain tombstoned_java_trace_socket_28_0 (sock_file (write)))
(allow appdomain tombstoned_28_0 (unix_stream_socket (connectto)))
(allow appdomain tombstoned_28_0 (fd (use)))
(allow appdomain dumpstate_28_0 (fifo_file (append)))
(allow appdomain incidentd_28_0 (fifo_file (append)))
(allow appdomain dumpstate_28_0 (fd (use)))
(allow appdomain dumpstate_28_0 (unix_stream_socket (read write getattr getopt shutdown)))
(allow appdomain dumpstate_28_0 (fifo_file (write getattr)))
(allow appdomain shell_data_file_28_0 (file (write getattr)))
(allow appdomain incidentd_28_0 (fd (use)))
(allow appdomain incidentd_28_0 (fifo_file (write getattr)))
(allow appdomain user_profile_data_file_28_0 (dir (write add_name search)))
(allow appdomain user_profile_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow appdomain heapdump_data_file_28_0 (file (append)))
(allow platform_app_28_0 qtaguid_proc_28_0 (file (ioctl read write getattr lock append map open)))
(allow priv_app_28_0 qtaguid_proc_28_0 (file (ioctl read write getattr lock append map open)))
(allow shell_28_0 qtaguid_proc_28_0 (file (ioctl read write getattr lock append map open)))
(allow system_app_28_0 qtaguid_proc_28_0 (file (ioctl read write getattr lock append map open)))
(allow untrusted_app_27_28_0 qtaguid_proc_28_0 (file (ioctl read write getattr lock append map open)))
(allow untrusted_app_25_28_0 qtaguid_proc_28_0 (file (ioctl read write getattr lock append map open)))
(allow base_typeattr_46_28_0 proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow base_typeattr_46_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow base_typeattr_46_28_0 proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow platform_app_28_0 proc_qtaguid_stat_28_0 (dir (ioctl read getattr lock search open)))
(allow priv_app_28_0 proc_qtaguid_stat_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 proc_qtaguid_stat_28_0 (dir (ioctl read getattr lock search open)))
(allow system_app_28_0 proc_qtaguid_stat_28_0 (dir (ioctl read getattr lock search open)))
(allow untrusted_app_27_28_0 proc_qtaguid_stat_28_0 (dir (ioctl read getattr lock search open)))
(allow untrusted_app_25_28_0 proc_qtaguid_stat_28_0 (dir (ioctl read getattr lock search open)))
(allow platform_app_28_0 proc_qtaguid_stat_28_0 (file (ioctl read getattr lock map open)))
(allow platform_app_28_0 proc_qtaguid_stat_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow priv_app_28_0 proc_qtaguid_stat_28_0 (file (ioctl read getattr lock map open)))
(allow priv_app_28_0 proc_qtaguid_stat_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_qtaguid_stat_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_qtaguid_stat_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow system_app_28_0 proc_qtaguid_stat_28_0 (file (ioctl read getattr lock map open)))
(allow system_app_28_0 proc_qtaguid_stat_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow untrusted_app_27_28_0 proc_qtaguid_stat_28_0 (file (ioctl read getattr lock map open)))
(allow untrusted_app_27_28_0 proc_qtaguid_stat_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow untrusted_app_25_28_0 proc_qtaguid_stat_28_0 (file (ioctl read getattr lock map open)))
(allow untrusted_app_25_28_0 proc_qtaguid_stat_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow platform_app_28_0 qtaguid_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow priv_app_28_0 qtaguid_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow shell_28_0 qtaguid_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow system_app_28_0 qtaguid_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow untrusted_app_27_28_0 qtaguid_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow untrusted_app_25_28_0 qtaguid_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow base_typeattr_43_28_0 gpu_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow appdomain servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 appdomain (dir (search)))
(allow servicemanager_28_0 appdomain (file (read open)))
(allow servicemanager_28_0 appdomain (process (getattr)))
(allow appdomain binderservicedomain (binder (call transfer)))
(allow binderservicedomain appdomain (binder (transfer)))
(allow appdomain binderservicedomain (fd (use)))
(allow appdomain appdomain (binder (call transfer)))
(allow appdomain appdomain (binder (transfer)))
(allow appdomain appdomain (fd (use)))
(allow appdomain ephemeral_app_28_0 (binder (call transfer)))
(allow ephemeral_app_28_0 appdomain (binder (transfer)))
(allow appdomain ephemeral_app_28_0 (fd (use)))
(allow base_typeattr_43_28_0 hwservicemanager_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 base_typeattr_43_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 base_typeattr_43_28_0 (dir (search)))
(allow hwservicemanager_28_0 base_typeattr_43_28_0 (file (read open)))
(allow hwservicemanager_28_0 base_typeattr_43_28_0 (process (getattr)))
(allow base_typeattr_43_28_0 hal_codec2_hwservice_28_0 (hwservice_manager (find)))
(allow base_typeattr_43_28_0 hal_omx_hwservice_28_0 (hwservice_manager (find)))
(allow base_typeattr_43_28_0 hidl_token_hwservice_28_0 (hwservice_manager (find)))
(allow appdomain hal_graphics_composer (fd (use)))
(allow appdomain appdomain (unix_stream_socket (read write getattr getopt shutdown)))
(allow appdomain backup_data_file_28_0 (file (read write getattr)))
(allow appdomain cache_backup_file_28_0 (file (read write getattr)))
(allow appdomain cache_backup_file_28_0 (dir (getattr)))
(allow appdomain system_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow appdomain system_data_file_28_0 (file (read getattr)))
(allow base_typeattr_43_28_0 media_rw_data_file_28_0 (file (read getattr)))
(allow base_typeattr_43_28_0 radio_data_file_28_0 (file (read write getattr)))
(allow base_typeattr_46_28_0 storage_file_28_0 (dir (ioctl read getattr lock search open)))
(allow base_typeattr_46_28_0 storage_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow base_typeattr_46_28_0 mnt_user_file_28_0 (dir (ioctl read getattr lock search open)))
(allow base_typeattr_46_28_0 mnt_user_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow base_typeattr_46_28_0 sdcard_type (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow base_typeattr_46_28_0 sdcard_type (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow base_typeattr_46_28_0 media_rw_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow base_typeattr_46_28_0 media_rw_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow base_typeattr_46_28_0 usb_device_28_0 (chr_file (ioctl read write getattr)))
(allow base_typeattr_46_28_0 usbaccessory_device_28_0 (chr_file (read write getattr)))
(allow appdomain dalvikcache_data_file_28_0 (file (execute)))
(allow appdomain dalvikcache_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow appdomain shared_relro_file_28_0 (dir (search)))
(allow appdomain shared_relro_file_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain apk_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow appdomain apk_data_file_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow appdomain resourcecache_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain resourcecache_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow appdomain logcat_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow appdomain logdr_socket_28_0 (sock_file (write)))
(allow appdomain logd_28_0 (unix_stream_socket (connectto)))
(allow base_typeattr_47_28_0 logd_socket_28_0 (sock_file (write)))
(allow base_typeattr_47_28_0 logd_28_0 (unix_stream_socket (connectto)))
(allow appdomain zygote_28_0 (unix_dgram_socket (write)))
(allow base_typeattr_46_28_0 keystore_28_0 (keystore_key (get_state get insert delete exist list sign verify)))
(allow keystore_28_0 base_typeattr_46_28_0 (dir (search)))
(allow keystore_28_0 base_typeattr_46_28_0 (file (read open)))
(allow keystore_28_0 base_typeattr_46_28_0 (process (getattr)))
(allow base_typeattr_46_28_0 keystore_service_28_0 (service_manager (find)))
(allow base_typeattr_46_28_0 keystore_28_0 (binder (call transfer)))
(allow keystore_28_0 base_typeattr_46_28_0 (binder (transfer)))
(allow base_typeattr_46_28_0 keystore_28_0 (fd (use)))
(allow keystore_28_0 base_typeattr_46_28_0 (binder (call transfer)))
(allow base_typeattr_46_28_0 keystore_28_0 (binder (transfer)))
(allow keystore_28_0 base_typeattr_46_28_0 (fd (use)))
(allow appdomain console_device_28_0 (chr_file (read write)))
(allowx base_typeattr_48_28_0 self (ioctl tcp_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx base_typeattr_48_28_0 self (ioctl udp_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx base_typeattr_48_28_0 self (ioctl rawip_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx base_typeattr_48_28_0 self (ioctl tcp_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx base_typeattr_48_28_0 self (ioctl udp_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx base_typeattr_48_28_0 self (ioctl rawip_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx base_typeattr_48_28_0 self (ioctl tcp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(allowx base_typeattr_48_28_0 self (ioctl udp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(allowx base_typeattr_48_28_0 self (ioctl rawip_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(allow base_typeattr_43_28_0 ion_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(auditallow base_typeattr_49_28_0 ion_device_28_0 (chr_file (write append)))
(allow base_typeattr_43_28_0 hwservicemanager_prop_28_0 (file (ioctl read getattr lock map open)))
(allow base_typeattr_43_28_0 mediacodec_28_0 (binder (call transfer)))
(allow mediacodec_28_0 base_typeattr_43_28_0 (binder (transfer)))
(allow base_typeattr_43_28_0 mediacodec_28_0 (fd (use)))
(allow base_typeattr_43_28_0 hal_audio (fd (use)))
(allow base_typeattr_43_28_0 hal_camera (fd (use)))
(allow base_typeattr_43_28_0 hal_renderscript_hwservice_28_0 (hwservice_manager (find)))
(allow appdomain proc_meminfo_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain app_fuse_file_28_0 (file (read write getattr append)))
(allow base_typeattr_46_28_0 pdx_display_client_endpoint_dir_type (dir (ioctl read getattr lock search open)))
(allow base_typeattr_46_28_0 pdx_display_client_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open)))
(allow base_typeattr_46_28_0 pdx_display_client_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
(allow base_typeattr_46_28_0 pdx_display_client_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
(allow base_typeattr_46_28_0 pdx_display_client_server_type (fd (use)))
(allow pdx_display_client_server_type base_typeattr_46_28_0 (fd (use)))
(allow base_typeattr_46_28_0 pdx_display_manager_endpoint_dir_type (dir (ioctl read getattr lock search open)))
(allow base_typeattr_46_28_0 pdx_display_manager_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open)))
(allow base_typeattr_46_28_0 pdx_display_manager_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
(allow base_typeattr_46_28_0 pdx_display_manager_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
(allow base_typeattr_46_28_0 pdx_display_manager_server_type (fd (use)))
(allow pdx_display_manager_server_type base_typeattr_46_28_0 (fd (use)))
(allow base_typeattr_46_28_0 pdx_display_vsync_endpoint_dir_type (dir (ioctl read getattr lock search open)))
(allow base_typeattr_46_28_0 pdx_display_vsync_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open)))
(allow base_typeattr_46_28_0 pdx_display_vsync_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
(allow base_typeattr_46_28_0 pdx_display_vsync_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
(allow base_typeattr_46_28_0 pdx_display_vsync_server_type (fd (use)))
(allow pdx_display_vsync_server_type base_typeattr_46_28_0 (fd (use)))
(allow base_typeattr_46_28_0 pdx_performance_client_endpoint_dir_type (dir (ioctl read getattr lock search open)))
(allow base_typeattr_46_28_0 pdx_performance_client_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open)))
(allow base_typeattr_46_28_0 pdx_performance_client_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
(allow base_typeattr_46_28_0 pdx_performance_client_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
(allow base_typeattr_46_28_0 pdx_performance_client_server_type (fd (use)))
(allow pdx_performance_client_server_type base_typeattr_46_28_0 (fd (use)))
(allow base_typeattr_46_28_0 pdx_bufferhub_client_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
(allow base_typeattr_46_28_0 pdx_bufferhub_client_server_type (fd (use)))
(allow pdx_bufferhub_client_server_type base_typeattr_46_28_0 (fd (use)))
(allow appdomain runas_exec_28_0 (file (getattr)))
(allow base_typeattr_46_28_0 tun_device_28_0 (chr_file (ioctl read write getattr append)))
(allow appdomain adbd_28_0 (unix_stream_socket (connectto)))
(allow appdomain adbd_28_0 (fd (use)))
(allow appdomain adbd_28_0 (unix_stream_socket (ioctl read write getattr getopt shutdown)))
(allow appdomain cache_file_28_0 (dir (getattr)))
(neverallow base_typeattr_48_28_0 self (capability (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
(neverallow base_typeattr_48_28_0 self (capability2 (mac_override mac_admin syslog wake_alarm block_suspend audit_read)))
(neverallow base_typeattr_48_28_0 self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
(neverallow base_typeattr_48_28_0 self (cap2_userns (mac_override mac_admin syslog wake_alarm block_suspend audit_read)))
(neverallow appdomain dev_type (blk_file (read write)))
(neverallow appdomain audio_device_28_0 (chr_file (read write)))
(neverallow appdomain camera_device_28_0 (chr_file (read write)))
(neverallow appdomain dm_device_28_0 (chr_file (read write)))
(neverallow appdomain radio_device_28_0 (chr_file (read write)))
(neverallow appdomain video_device_28_0 (chr_file (read write)))
(neverallow appdomain rpmsg_device_28_0 (chr_file (read write)))
(neverallow isolated_app_28_0 graphics_device_28_0 (chr_file (read write)))
(neverallow shell_28_0 graphics_device_28_0 (chr_file (read write)))
(neverallow untrusted_app_28_0 graphics_device_28_0 (chr_file (read write)))
(neverallow base_typeattr_50_28_0 nfc_device_28_0 (chr_file (read write)))
(neverallow base_typeattr_48_28_0 hci_attach_dev_28_0 (chr_file (read write)))
(neverallow appdomain tee_device_28_0 (chr_file (read write)))
(neverallow appdomain domain (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
(neverallow appdomain domain (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow appdomain domain (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
(neverallow appdomain domain (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
(neverallow appdomain domain (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow appdomain domain (netlink_kobject_uevent_socket (write append)))
(neverallow appdomain socket_device_28_0 (sock_file (write)))
(neverallow appdomain adbd_socket_28_0 (sock_file (write)))
(neverallow base_typeattr_51_28_0 rild_socket_28_0 (sock_file (write)))
(neverallow appdomain zygote_socket_28_0 (sock_file (write)))
(neverallow appdomain base_typeattr_52_28_0 (process (ptrace)))
(neverallow appdomain base_typeattr_52_28_0 (file (write create setattr relabelfrom append unlink link rename)))
(neverallow base_typeattr_53_28_0 base_typeattr_52_28_0 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow appdomain base_typeattr_52_28_0 (process (sigkill sigstop signal)))
(neverallow base_typeattr_54_28_0 base_typeattr_55_28_0 (process (transition)))
(neverallow base_typeattr_54_28_0 base_typeattr_52_28_0 (process (dyntransition)))
(neverallow appdomain rootfs_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain rootfs_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain rootfs_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain rootfs_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain rootfs_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain rootfs_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain rootfs_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain exec_type (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_data_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_data_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_data_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_data_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_data_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_data_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain system_data_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain drm_data_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain drm_data_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain drm_data_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain drm_data_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain drm_data_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain drm_data_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain drm_data_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_data_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_data_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_data_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_data_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_data_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_data_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_data_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_tmp_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_tmp_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_tmp_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_tmp_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_tmp_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_tmp_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_tmp_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_data_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_data_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_data_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_data_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_data_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_data_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_data_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_tmp_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_tmp_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_tmp_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_tmp_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_tmp_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_tmp_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_56_28_0 apk_private_tmp_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_53_28_0 shell_data_file_28_0 (file (create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_53_28_0 shell_data_file_28_0 (dir (create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_53_28_0 shell_data_file_28_0 (lnk_file (create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_53_28_0 shell_data_file_28_0 (chr_file (create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_53_28_0 shell_data_file_28_0 (blk_file (create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_53_28_0 shell_data_file_28_0 (sock_file (create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_53_28_0 shell_data_file_28_0 (fifo_file (create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_48_28_0 bluetooth_data_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_48_28_0 bluetooth_data_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_48_28_0 bluetooth_data_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_48_28_0 bluetooth_data_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_48_28_0 bluetooth_data_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_48_28_0 bluetooth_data_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_48_28_0 bluetooth_data_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain keystore_data_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain keystore_data_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain keystore_data_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain keystore_data_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain keystore_data_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain keystore_data_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain keystore_data_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain systemkeys_data_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain systemkeys_data_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain systemkeys_data_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain systemkeys_data_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain systemkeys_data_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain systemkeys_data_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain systemkeys_data_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain wifi_data_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain wifi_data_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain wifi_data_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain wifi_data_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain wifi_data_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain wifi_data_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain wifi_data_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain dhcp_data_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain dhcp_data_file_28_0 (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain dhcp_data_file_28_0 (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain dhcp_data_file_28_0 (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain dhcp_data_file_28_0 (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain dhcp_data_file_28_0 (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow appdomain dhcp_data_file_28_0 (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_57_28_0 apk_tmp_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_57_28_0 apk_tmp_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow base_typeattr_57_28_0 apk_tmp_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_57_28_0 apk_tmp_file_28_0 (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_57_28_0 apk_tmp_file_28_0 (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_57_28_0 apk_tmp_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_57_28_0 apk_tmp_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_57_28_0 apk_private_tmp_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_57_28_0 apk_private_tmp_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow base_typeattr_57_28_0 apk_private_tmp_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_57_28_0 apk_private_tmp_file_28_0 (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_57_28_0 apk_private_tmp_file_28_0 (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_57_28_0 apk_private_tmp_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_57_28_0 apk_private_tmp_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow untrusted_app_all apk_tmp_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow untrusted_app_all apk_tmp_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow untrusted_app_all apk_tmp_file_28_0 (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow untrusted_app_all apk_tmp_file_28_0 (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow untrusted_app_all apk_tmp_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow untrusted_app_all apk_tmp_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow untrusted_app_all apk_private_tmp_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow untrusted_app_all apk_private_tmp_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow untrusted_app_all apk_private_tmp_file_28_0 (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow untrusted_app_all apk_private_tmp_file_28_0 (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow untrusted_app_all apk_private_tmp_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow untrusted_app_all apk_private_tmp_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow untrusted_app_all apk_tmp_file_28_0 (file (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow untrusted_app_all apk_private_tmp_file_28_0 (file (ioctl write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow appdomain efs_file_28_0 (file (write)))
(neverallow appdomain efs_file_28_0 (dir (write)))
(neverallow appdomain efs_file_28_0 (lnk_file (write)))
(neverallow appdomain efs_file_28_0 (chr_file (write)))
(neverallow appdomain efs_file_28_0 (blk_file (write)))
(neverallow appdomain efs_file_28_0 (sock_file (write)))
(neverallow appdomain efs_file_28_0 (fifo_file (write)))
(neverallow base_typeattr_53_28_0 efs_file_28_0 (file (read)))
(neverallow base_typeattr_53_28_0 efs_file_28_0 (dir (read)))
(neverallow base_typeattr_53_28_0 efs_file_28_0 (lnk_file (read)))
(neverallow base_typeattr_53_28_0 efs_file_28_0 (chr_file (read)))
(neverallow base_typeattr_53_28_0 efs_file_28_0 (blk_file (read)))
(neverallow base_typeattr_53_28_0 efs_file_28_0 (sock_file (read)))
(neverallow base_typeattr_53_28_0 efs_file_28_0 (fifo_file (read)))
(neverallow base_typeattr_58_28_0 sysfs_28_0 (file (write)))
(neverallow base_typeattr_58_28_0 sysfs_28_0 (dir (write)))
(neverallow base_typeattr_58_28_0 sysfs_28_0 (lnk_file (write)))
(neverallow base_typeattr_58_28_0 sysfs_28_0 (chr_file (write)))
(neverallow base_typeattr_58_28_0 sysfs_28_0 (blk_file (write)))
(neverallow base_typeattr_58_28_0 sysfs_28_0 (sock_file (write)))
(neverallow base_typeattr_58_28_0 sysfs_28_0 (fifo_file (write)))
(neverallow appdomain proc_28_0 (file (write)))
(neverallow appdomain proc_28_0 (dir (write)))
(neverallow appdomain proc_28_0 (lnk_file (write)))
(neverallow appdomain proc_28_0 (chr_file (write)))
(neverallow appdomain proc_28_0 (blk_file (write)))
(neverallow appdomain proc_28_0 (sock_file (write)))
(neverallow appdomain proc_28_0 (fifo_file (write)))
(neverallow appdomain kernel_28_0 (system (syslog_read syslog_mod syslog_console)))
(neverallow base_typeattr_53_28_0 base_typeattr_59_28_0 (security (compute_av check_context)))
(neverallow base_typeattr_53_28_0 base_typeattr_59_28_0 (netlink_selinux_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow appdomain fs_type (filesystem (mount remount unmount relabelfrom relabelto associate quotamod quotaget)))
(neverallow appdomain dev_type (lnk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow appdomain rootfs_28_0 (lnk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow appdomain tmpfs_28_0 (lnk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow appdomain system_file_28_0 (lnk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow appdomain apk_data_file_28_0 (lnk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow appdomain cache_file_28_0 (lnk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow appdomain cache_recovery_file_28_0 (lnk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow bluetooth_28_0 base_typeattr_60_28_0 (file (execute execute_no_trans)))
(neverallow isolated_app_28_0 base_typeattr_60_28_0 (file (execute execute_no_trans)))
(neverallow nfc_28_0 base_typeattr_60_28_0 (file (execute execute_no_trans)))
(neverallow radio_28_0 base_typeattr_60_28_0 (file (execute execute_no_trans)))
(neverallow shared_relro_28_0 base_typeattr_60_28_0 (file (execute execute_no_trans)))
(neverallow system_app_28_0 base_typeattr_60_28_0 (file (execute execute_no_trans)))
(neverallow base_typeattr_53_28_0 input_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_61_28_0 bluetooth_a2dp_offload_prop_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(neverallow base_typeattr_61_28_0 bluetooth_prop_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(neverallow base_typeattr_61_28_0 exported_bluetooth_prop_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(neverallow appdomain proc_uid_time_in_state_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow appdomain proc_uid_concurrent_active_time_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow appdomain proc_uid_concurrent_policy_time_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow appdomain proc_uid_cpupower_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(allow bootanim_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 bootanim_28_0 (dir (search)))
(allow servicemanager_28_0 bootanim_28_0 (file (read open)))
(allow servicemanager_28_0 bootanim_28_0 (process (getattr)))
(allow bootanim_28_0 surfaceflinger_28_0 (binder (call transfer)))
(allow surfaceflinger_28_0 bootanim_28_0 (binder (transfer)))
(allow bootanim_28_0 surfaceflinger_28_0 (fd (use)))
(allow bootanim_28_0 audioserver_28_0 (binder (call transfer)))
(allow audioserver_28_0 bootanim_28_0 (binder (transfer)))
(allow bootanim_28_0 audioserver_28_0 (fd (use)))
(allow bootanim_28_0 hwservicemanager_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 bootanim_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 bootanim_28_0 (dir (search)))
(allow hwservicemanager_28_0 bootanim_28_0 (file (read open)))
(allow hwservicemanager_28_0 bootanim_28_0 (process (getattr)))
(allow bootanim_28_0 gpu_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow bootanim_28_0 oemfs_28_0 (dir (search)))
(allow bootanim_28_0 oemfs_28_0 (file (ioctl read getattr lock map open)))
(allow bootanim_28_0 audio_device_28_0 (dir (ioctl read getattr lock search open)))
(allow bootanim_28_0 audio_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow bootanim_28_0 audioserver_service_28_0 (service_manager (find)))
(allow bootanim_28_0 surfaceflinger_service_28_0 (service_manager (find)))
(allow bootanim_28_0 ion_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow bootanim_28_0 hal_graphics_allocator (fd (use)))
(allow bootanim_28_0 hal_graphics_composer (fd (use)))
(allow bootanim_28_0 proc_meminfo_28_0 (file (ioctl read getattr lock map open)))
(allow bootanim_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow bootanim_28_0 bootloader_boot_reason_prop_28_0 (file (ioctl read getattr lock map open)))
(allow bootstat_28_0 runtime_event_log_tags_file_28_0 (file (ioctl read getattr lock map open)))
(allow bootstat_28_0 bootstat_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow bootstat_28_0 bootstat_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow bootstat_28_0 boottime_prop_28_0 (file (ioctl read getattr lock map open)))
(allow bootstat_28_0 property_socket_28_0 (sock_file (write)))
(allow bootstat_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow bootstat_28_0 bootloader_boot_reason_prop_28_0 (property_service (set)))
(allow bootstat_28_0 bootloader_boot_reason_prop_28_0 (file (ioctl read getattr lock map open)))
(allow bootstat_28_0 property_socket_28_0 (sock_file (write)))
(allow bootstat_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow bootstat_28_0 system_boot_reason_prop_28_0 (property_service (set)))
(allow bootstat_28_0 system_boot_reason_prop_28_0 (file (ioctl read getattr lock map open)))
(allow bootstat_28_0 property_socket_28_0 (sock_file (write)))
(allow bootstat_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow bootstat_28_0 last_boot_reason_prop_28_0 (property_service (set)))
(allow bootstat_28_0 last_boot_reason_prop_28_0 (file (ioctl read getattr lock map open)))
(allow bootstat_28_0 pstorefs_28_0 (dir (search)))
(allow bootstat_28_0 pstorefs_28_0 (file (ioctl read getattr lock map open)))
(allow bootstat_28_0 kernel_28_0 (system (syslog_read)))
(allow bootstat_28_0 logcat_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow bootstat_28_0 logdr_socket_28_0 (sock_file (write)))
(allow bootstat_28_0 logd_28_0 (unix_stream_socket (connectto)))
(neverallow base_typeattr_62_28_0 bootloader_boot_reason_prop_28_0 (file (ioctl read getattr lock map open)))
(neverallow base_typeattr_62_28_0 last_boot_reason_prop_28_0 (file (ioctl read getattr lock map open)))
(neverallow bootanim_28_0 last_boot_reason_prop_28_0 (file (ioctl read getattr lock map open)))
(neverallow recovery_28_0 last_boot_reason_prop_28_0 (file (ioctl read getattr lock map open)))
(neverallow base_typeattr_63_28_0 bootloader_boot_reason_prop_28_0 (property_service (set)))
(neverallow base_typeattr_63_28_0 last_boot_reason_prop_28_0 (property_service (set)))
(neverallow system_server_28_0 bootloader_boot_reason_prop_28_0 (property_service (set)))
(neverallow base_typeattr_64_28_0 system_boot_reason_prop_28_0 (property_service (set)))
(allow init_28_0 pdx_bufferhub_client_endpoint_socket_type (unix_stream_socket (create bind)))
(allow bufferhubd_28_0 pdx_bufferhub_client_endpoint_socket_type (unix_stream_socket (read write getattr setattr lock append listen accept getopt setopt shutdown)))
(allow bufferhubd_28_0 self (process (setsockcreate)))
(allow bufferhubd_28_0 pdx_bufferhub_client_channel_socket_type (unix_stream_socket (ioctl read write create getattr setattr lock append bind connect listen accept getopt setopt shutdown)))
(neverallow base_typeattr_65_28_0 pdx_bufferhub_client_endpoint_socket_type (unix_stream_socket (listen accept)))
(allow bufferhubd_28_0 pdx_performance_client_endpoint_dir_type (dir (ioctl read getattr lock search open)))
(allow bufferhubd_28_0 pdx_performance_client_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open)))
(allow bufferhubd_28_0 pdx_performance_client_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
(allow bufferhubd_28_0 pdx_performance_client_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
(allow bufferhubd_28_0 pdx_performance_client_server_type (fd (use)))
(allow pdx_performance_client_server_type bufferhubd_28_0 (fd (use)))
(allow bufferhubd_28_0 gpu_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow bufferhubd_28_0 ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow bufferhubd_28_0 mediacodec_28_0 (fd (use)))
(allow cameraserver_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 cameraserver_28_0 (dir (search)))
(allow servicemanager_28_0 cameraserver_28_0 (file (read open)))
(allow servicemanager_28_0 cameraserver_28_0 (process (getattr)))
(allow cameraserver_28_0 binderservicedomain (binder (call transfer)))
(allow binderservicedomain cameraserver_28_0 (binder (transfer)))
(allow cameraserver_28_0 binderservicedomain (fd (use)))
(allow cameraserver_28_0 appdomain (binder (call transfer)))
(allow appdomain cameraserver_28_0 (binder (transfer)))
(allow cameraserver_28_0 appdomain (fd (use)))
(allow cameraserver_28_0 ion_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow cameraserver_28_0 hal_graphics_composer (fd (use)))
(allow cameraserver_28_0 cameraserver_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_66_28_0 cameraserver_service_28_0 (service_manager (add)))
(allow cameraserver_28_0 activity_service_28_0 (service_manager (find)))
(allow cameraserver_28_0 appops_service_28_0 (service_manager (find)))
(allow cameraserver_28_0 audioserver_service_28_0 (service_manager (find)))
(allow cameraserver_28_0 batterystats_service_28_0 (service_manager (find)))
(allow cameraserver_28_0 cameraproxy_service_28_0 (service_manager (find)))
(allow cameraserver_28_0 mediaserver_service_28_0 (service_manager (find)))
(allow cameraserver_28_0 processinfo_service_28_0 (service_manager (find)))
(allow cameraserver_28_0 scheduling_policy_service_28_0 (service_manager (find)))
(allow cameraserver_28_0 surfaceflinger_service_28_0 (service_manager (find)))
(allow cameraserver_28_0 hidl_token_hwservice_28_0 (hwservice_manager (find)))
(neverallow cameraserver_28_0 fs_type (file (execute_no_trans)))
(neverallow cameraserver_28_0 file_type (file (execute_no_trans)))
(neverallow cameraserver_28_0 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 cameraserver_28_0 domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(neverallow cameraserver_28_0 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)))
(allow cameraserver_28_0 adbd_28_0 (fd (use)))
(allow cameraserver_28_0 adbd_28_0 (unix_stream_socket (read write)))
(allow cameraserver_28_0 shell_28_0 (fd (use)))
(allow cameraserver_28_0 shell_28_0 (unix_stream_socket (read write)))
(allow cameraserver_28_0 shell_28_0 (fifo_file (read write)))
(allow cameraserver_28_0 su_28_0 (fd (use)))
(allow cameraserver_28_0 su_28_0 (fifo_file (read write)))
(allow cameraserver_28_0 su_28_0 (unix_stream_socket (read write)))
(allow charger_28_0 kmsg_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow charger_28_0 rootfs_28_0 (dir (ioctl read getattr lock search open)))
(allow charger_28_0 rootfs_28_0 (file (ioctl read getattr lock map open)))
(allow charger_28_0 rootfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow charger_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow charger_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow charger_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow charger_28_0 sysfs_type (dir (ioctl read getattr lock search open)))
(allow charger_28_0 self (capability (sys_tty_config)))
(allow charger_28_0 self (cap_userns (sys_tty_config)))
(allow charger_28_0 self (capability (sys_boot)))
(allow charger_28_0 self (cap_userns (sys_boot)))
(allow charger_28_0 sysfs_wake_lock_28_0 (file (ioctl read write getattr lock append map open)))
(allow charger_28_0 self (capability2 (block_suspend)))
(allow charger_28_0 self (cap2_userns (block_suspend)))
(allow charger_28_0 self (netlink_kobject_uevent_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow charger_28_0 sysfs_power_28_0 (file (ioctl read write getattr lock append map open)))
(allow charger_28_0 sysfs_batteryinfo_28_0 (dir (ioctl read getattr lock search open)))
(allow charger_28_0 sysfs_batteryinfo_28_0 (file (ioctl read getattr lock map open)))
(allow charger_28_0 sysfs_batteryinfo_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow charger_28_0 pstorefs_28_0 (dir (ioctl read getattr lock search open)))
(allow charger_28_0 pstorefs_28_0 (file (ioctl read getattr lock map open)))
(allow charger_28_0 graphics_device_28_0 (dir (ioctl read getattr lock search open)))
(allow charger_28_0 graphics_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow charger_28_0 input_device_28_0 (dir (ioctl read getattr lock search open)))
(allow charger_28_0 input_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow charger_28_0 tty_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow charger_28_0 proc_sysrq_28_0 (file (ioctl read write getattr lock append map open)))
(allow charger_28_0 property_socket_28_0 (sock_file (write)))
(allow charger_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow charger_28_0 system_prop_28_0 (property_service (set)))
(allow charger_28_0 system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow charger_28_0 property_socket_28_0 (sock_file (write)))
(allow charger_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow charger_28_0 exported_system_prop_28_0 (property_service (set)))
(allow charger_28_0 exported_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow charger_28_0 property_socket_28_0 (sock_file (write)))
(allow charger_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow charger_28_0 exported2_system_prop_28_0 (property_service (set)))
(allow charger_28_0 exported2_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow charger_28_0 property_socket_28_0 (sock_file (write)))
(allow charger_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow charger_28_0 exported3_system_prop_28_0 (property_service (set)))
(allow charger_28_0 exported3_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow clatd_28_0 proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow clatd_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow clatd_28_0 proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow clatd_28_0 netd_28_0 (fd (use)))
(allow clatd_28_0 netd_28_0 (fifo_file (read write)))
(allow clatd_28_0 netd_28_0 (netlink_kobject_uevent_socket (read write)))
(allow clatd_28_0 netd_28_0 (netlink_nflog_socket (read write)))
(allow clatd_28_0 netd_28_0 (netlink_route_socket (read write)))
(allow clatd_28_0 netd_28_0 (udp_socket (read write)))
(allow clatd_28_0 netd_28_0 (unix_stream_socket (read write)))
(allow clatd_28_0 netd_28_0 (unix_dgram_socket (read write)))
(allow clatd_28_0 self (capability (setgid setuid net_admin net_raw)))
(allow clatd_28_0 self (cap_userns (setgid setuid net_admin net_raw)))
(allow clatd_28_0 self (capability (ipc_lock)))
(allow clatd_28_0 self (cap_userns (ipc_lock)))
(allow clatd_28_0 self (netlink_route_socket (nlmsg_write)))
(allow clatd_28_0 self (rawip_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow clatd_28_0 self (packet_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow clatd_28_0 self (tun_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow clatd_28_0 tun_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow cppreopts_28_0 dalvikcache_data_file_28_0 (dir (write add_name remove_name search)))
(allow cppreopts_28_0 dalvikcache_data_file_28_0 (file (read write create getattr unlink rename open)))
(allow cppreopts_28_0 shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow cppreopts_28_0 system_file_28_0 (dir (read open)))
(allow cppreopts_28_0 toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow crash_dump_28_0 base_typeattr_67_28_0 (process (sigchld sigkill sigstop signal ptrace)))
(dontaudit crash_dump_28_0 self (capability (sys_ptrace)))
(dontaudit crash_dump_28_0 self (cap_userns (sys_ptrace)))
(allow crash_dump_28_0 logd_28_0 (process (sigchld sigkill sigstop signal ptrace)))
(allow crash_dump_28_0 kmsg_debug_device_28_0 (chr_file (append open)))
(allow crash_dump_28_0 domain (fd (use)))
(allow crash_dump_28_0 domain (fifo_file (read write)))
(allow crash_dump_28_0 domain (fifo_file (append)))
(allow crash_dump_28_0 domain (dir (ioctl read getattr lock search open)))
(allow crash_dump_28_0 domain (file (ioctl read getattr lock map open)))
(allow crash_dump_28_0 domain (lnk_file (ioctl read getattr lock map open)))
(allow crash_dump_28_0 exec_type (file (ioctl read getattr lock map open)))
(allow crash_dump_28_0 dalvikcache_data_file_28_0 (dir (getattr search)))
(allow crash_dump_28_0 dalvikcache_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow crash_dump_28_0 apk_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow crash_dump_28_0 apk_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow crash_dump_28_0 apk_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow crash_dump_28_0 vendor_file_28_0 (dir (ioctl read getattr lock search open)))
(allow crash_dump_28_0 same_process_hal_file_28_0 (dir (ioctl read getattr lock search open)))
(allow crash_dump_28_0 vendor_file_28_0 (file (ioctl read getattr lock map open)))
(allow crash_dump_28_0 vendor_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow crash_dump_28_0 same_process_hal_file_28_0 (file (ioctl read getattr lock map open)))
(allow crash_dump_28_0 same_process_hal_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow crash_dump_28_0 tombstoned_crash_socket_28_0 (sock_file (write)))
(allow crash_dump_28_0 tombstoned_28_0 (unix_stream_socket (connectto)))
(allow crash_dump_28_0 system_ndebug_socket_28_0 (sock_file (write)))
(allow crash_dump_28_0 system_server_28_0 (unix_stream_socket (connectto)))
(allow crash_dump_28_0 anr_data_file_28_0 (file (getattr append)))
(allow crash_dump_28_0 tombstone_data_file_28_0 (file (getattr append)))
(allow crash_dump_28_0 logcat_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow crash_dump_28_0 logdr_socket_28_0 (sock_file (write)))
(allow crash_dump_28_0 logd_28_0 (unix_stream_socket (connectto)))
(dontaudit crash_dump_28_0 core_data_file_type (dir (search)))
(dontaudit crash_dump_28_0 vendor_file_type (dir (search)))
(dontaudit crash_dump_28_0 system_data_file_28_0 (file (read)))
(neverallow domain crash_dump_exec_28_0 (file (execute_no_trans)))
(allow dex2oat_28_0 apk_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow dex2oat_28_0 apk_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow dex2oat_28_0 apk_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow dex2oat_28_0 vendor_app_file_28_0 (dir (ioctl read getattr lock search open)))
(allow dex2oat_28_0 vendor_app_file_28_0 (file (ioctl read getattr lock map open)))
(allow dex2oat_28_0 vendor_app_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow dex2oat_28_0 vendor_framework_file_28_0 (dir (getattr search)))
(allow dex2oat_28_0 vendor_framework_file_28_0 (file (read getattr open)))
(allow dex2oat_28_0 tmpfs_28_0 (file (read getattr)))
(allow dex2oat_28_0 dalvikcache_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow dex2oat_28_0 dalvikcache_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow dex2oat_28_0 dalvikcache_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow dex2oat_28_0 dalvikcache_data_file_28_0 (file (write)))
(allow dex2oat_28_0 dalvikcache_data_file_28_0 (lnk_file (read)))
(allow dex2oat_28_0 installd_28_0 (fd (use)))
(allow dex2oat_28_0 system_file_28_0 (file (lock)))
(allow dex2oat_28_0 asec_apk_file_28_0 (file (read)))
(allow dex2oat_28_0 unlabeled_28_0 (file (read)))
(allow dex2oat_28_0 oemfs_28_0 (file (read)))
(allow dex2oat_28_0 apk_tmp_file_28_0 (dir (search)))
(allow dex2oat_28_0 apk_tmp_file_28_0 (file (ioctl read getattr lock map open)))
(allow dex2oat_28_0 user_profile_data_file_28_0 (file (read getattr lock)))
(allow dex2oat_28_0 app_data_file_28_0 (file (read write getattr lock)))
(allow dex2oat_28_0 postinstall_dexopt_28_0 (fd (use)))
(allow dex2oat_28_0 postinstall_file_28_0 (dir (getattr search)))
(allow dex2oat_28_0 postinstall_file_28_0 (filesystem (getattr)))
(allow dex2oat_28_0 postinstall_file_28_0 (lnk_file (read getattr)))
(allow dex2oat_28_0 ota_data_file_28_0 (dir (ioctl read write getattr lock add_name search open)))
(allow dex2oat_28_0 ota_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow dex2oat_28_0 ota_data_file_28_0 (lnk_file (read create)))
(allow dex2oat_28_0 ota_data_file_28_0 (file (write create setattr lock append map open)))
(neverallow dex2oat_28_0 app_data_file_28_0 (file (open)))
(neverallow dex2oat_28_0 app_data_file_28_0 (lnk_file (open)))
(neverallow dex2oat_28_0 app_data_file_28_0 (sock_file (open)))
(neverallow dex2oat_28_0 app_data_file_28_0 (fifo_file (open)))
(allow dhcp_28_0 cgroup_28_0 (dir (write create add_name)))
(allow dhcp_28_0 self (capability (setgid setuid net_bind_service net_admin net_raw)))
(allow dhcp_28_0 self (cap_userns (setgid setuid net_bind_service net_admin net_raw)))
(allow dhcp_28_0 self (packet_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow dhcp_28_0 self (netlink_route_socket (nlmsg_write)))
(allow dhcp_28_0 shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow dhcp_28_0 system_file_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow dhcp_28_0 toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow dhcp_28_0 proc_net_28_0 (file (write)))
(allow dhcp_28_0 property_socket_28_0 (sock_file (write)))
(allow dhcp_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow dhcp_28_0 dhcp_prop_28_0 (property_service (set)))
(allow dhcp_28_0 dhcp_prop_28_0 (file (ioctl read getattr lock map open)))
(allow dhcp_28_0 property_socket_28_0 (sock_file (write)))
(allow dhcp_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow dhcp_28_0 pan_result_prop_28_0 (property_service (set)))
(allow dhcp_28_0 pan_result_prop_28_0 (file (ioctl read getattr lock map open)))
(allow dhcp_28_0 dhcp_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow dhcp_28_0 dhcp_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow dhcp_28_0 netd_28_0 (fd (use)))
(allow dhcp_28_0 netd_28_0 (fifo_file (ioctl read write getattr lock append map open)))
(allow dhcp_28_0 netd_28_0 (udp_socket (read write)))
(allow dhcp_28_0 netd_28_0 (unix_stream_socket (read write)))
(allow dhcp_28_0 netd_28_0 (unix_dgram_socket (read write)))
(allow dhcp_28_0 netd_28_0 (netlink_route_socket (read write)))
(allow dhcp_28_0 netd_28_0 (netlink_nflog_socket (read write)))
(allow dhcp_28_0 netd_28_0 (netlink_kobject_uevent_socket (read write)))
(allow display_service_server fwk_display_hwservice_28_0 (hwservice_manager (add find)))
(allow display_service_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_68_28_0 fwk_display_hwservice_28_0 (hwservice_manager (add)))
(allowx dnsmasq_28_0 self (ioctl udp_socket (0x6900 0x6902)))
(allowx dnsmasq_28_0 self (ioctl udp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(allowx dnsmasq_28_0 self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(allow dnsmasq_28_0 self (capability (dac_override)))
(allow dnsmasq_28_0 self (cap_userns (dac_override)))
(allow dnsmasq_28_0 self (capability (setgid setuid net_bind_service net_admin net_raw)))
(allow dnsmasq_28_0 self (cap_userns (setgid setuid net_bind_service net_admin net_raw)))
(allow dnsmasq_28_0 dhcp_data_file_28_0 (dir (write lock add_name remove_name search open)))
(allow dnsmasq_28_0 dhcp_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow dnsmasq_28_0 netd_28_0 (fd (use)))
(allow dnsmasq_28_0 netd_28_0 (fifo_file (read write)))
(allow dnsmasq_28_0 netd_28_0 (netlink_kobject_uevent_socket (read write)))
(allow dnsmasq_28_0 netd_28_0 (netlink_nflog_socket (read write)))
(allow dnsmasq_28_0 netd_28_0 (netlink_route_socket (read write)))
(allow dnsmasq_28_0 netd_28_0 (unix_stream_socket (read write)))
(allow dnsmasq_28_0 netd_28_0 (unix_dgram_socket (read write)))
(allow dnsmasq_28_0 netd_28_0 (udp_socket (read write)))
(allow domain init_28_0 (process (sigchld)))
(allow domain self (process (fork sigchld sigkill sigstop signull signal getsched setsched getsession getpgid setpgid getcap setcap getattr setrlimit)))
(allow domain self (fd (use)))
(allow domain proc_28_0 (dir (ioctl read getattr lock search open)))
(allow domain proc_net_28_0 (dir (search)))
(allow domain self (dir (ioctl read getattr lock search open)))
(allow domain self (file (ioctl read getattr lock map open)))
(allow domain self (lnk_file (ioctl read getattr lock map open)))
(allow domain self (file (ioctl read write getattr lock append map open)))
(allow domain self (fifo_file (ioctl read write getattr lock append map open)))
(allow domain self (unix_dgram_socket (ioctl read write create getattr setattr lock append bind connect getopt setopt shutdown sendto)))
(allow domain self (unix_stream_socket (ioctl read write create getattr setattr lock append bind connect listen accept getopt setopt shutdown connectto)))
(allow domain init_28_0 (fd (use)))
(allow domain su_28_0 (fd (use)))
(allow domain su_28_0 (unix_stream_socket (read write getattr getopt shutdown connectto)))
(allow domain su_28_0 (unix_dgram_socket (sendto)))
(allow base_typeattr_69_28_0 su_28_0 (binder (call transfer)))
(allow domain su_28_0 (fifo_file (write getattr)))
(allow domain su_28_0 (process (sigchld)))
(allow domain coredump_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow domain coredump_file_28_0 (dir (ioctl read write getattr lock add_name search open)))
(allow domain rootfs_28_0 (dir (search)))
(allow domain rootfs_28_0 (lnk_file (read getattr)))
(allow domain device_28_0 (dir (search)))
(allow domain dev_type (lnk_file (ioctl read getattr lock map open)))
(allow domain devpts_28_0 (dir (search)))
(allow domain socket_device_28_0 (dir (ioctl read getattr lock search open)))
(allow domain owntty_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow domain null_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow domain zero_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow domain ashmem_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow base_typeattr_70_28_0 binder_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow base_typeattr_71_28_0 hwbinder_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow domain ptmx_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow domain alarm_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow domain random_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow domain proc_random_28_0 (dir (ioctl read getattr lock search open)))
(allow domain proc_random_28_0 (file (ioctl read getattr lock map open)))
(allow domain properties_device_28_0 (dir (getattr search)))
(allow domain properties_serial_28_0 (file (ioctl read getattr lock map open)))
(allow domain property_info_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain core_property_type (file (ioctl read getattr lock map open)))
(allow coredomain core_property_type (file (ioctl read getattr lock map open)))
(allow shell_28_0 core_property_type (file (ioctl read getattr lock map open)))
(allow appdomain exported_dalvik_prop_28_0 (file (ioctl read getattr lock map open)))
(allow coredomain exported_dalvik_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 exported_dalvik_prop_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain exported_ffs_prop_28_0 (file (ioctl read getattr lock map open)))
(allow coredomain exported_ffs_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 exported_ffs_prop_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain exported_system_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow coredomain exported_system_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 exported_system_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain exported2_config_prop_28_0 (file (ioctl read getattr lock map open)))
(allow coredomain exported2_config_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 exported2_config_prop_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain exported2_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow coredomain exported2_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 exported2_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain exported2_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow coredomain exported2_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 exported2_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain exported2_vold_prop_28_0 (file (ioctl read getattr lock map open)))
(allow coredomain exported2_vold_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 exported2_vold_prop_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain exported3_default_prop_28_0 (file (ioctl read getattr lock map open)))
(allow coredomain exported3_default_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 exported3_default_prop_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain exported3_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow coredomain exported3_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 exported3_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow appdomain exported3_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow coredomain exported3_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 exported3_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow su_28_0 core_property_type (file (ioctl read getattr lock map open)))
(allow su_28_0 exported_dalvik_prop_28_0 (file (ioctl read getattr lock map open)))
(allow su_28_0 exported_ffs_prop_28_0 (file (ioctl read getattr lock map open)))
(allow su_28_0 exported_system_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow su_28_0 exported2_config_prop_28_0 (file (ioctl read getattr lock map open)))
(allow su_28_0 exported2_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow su_28_0 exported2_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow su_28_0 exported2_vold_prop_28_0 (file (ioctl read getattr lock map open)))
(allow su_28_0 exported3_default_prop_28_0 (file (ioctl read getattr lock map open)))
(allow su_28_0 exported3_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow su_28_0 exported3_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow base_typeattr_72_28_0 vendor_default_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain debug_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain exported_config_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain exported_default_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain exported_dumpstate_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain exported_fingerprint_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain exported_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain exported_secure_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain exported_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain exported_vold_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain exported2_default_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain logd_prop_28_0 (file (ioctl read getattr lock map open)))
(allow domain log_property_type (file (ioctl read getattr lock map open)))
(dontaudit domain property_type (file (audit_access)))
(allow domain property_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow domain init_28_0 (key (search)))
(allow domain vold_28_0 (key (search)))
(allow domain logdw_socket_28_0 (sock_file (write)))
(allow domain logd_28_0 (unix_dgram_socket (sendto)))
(allow domain pmsg_device_28_0 (chr_file (write lock append map open)))
(allow domain system_file_28_0 (dir (getattr search)))
(allow domain system_file_28_0 (file (read getattr map execute open)))
(allow domain system_file_28_0 (lnk_file (read getattr)))
(allow domain vendor_hal_file_28_0 (dir (ioctl read getattr lock search open)))
(allow domain same_process_hal_file_28_0 (dir (ioctl read getattr lock search open)))
(allow domain same_process_hal_file_28_0 (file (read getattr map execute open)))
(allow domain vndk_sp_file_28_0 (dir (ioctl read getattr lock search open)))
(allow domain vndk_sp_file_28_0 (file (read getattr map execute open)))
(allow domain vendor_configs_file_28_0 (dir (ioctl read getattr lock search open)))
(allow domain vendor_configs_file_28_0 (file (read getattr open)))
(allow domain vendor_file_type (lnk_file (read getattr open)))
(allow domain vendor_file_28_0 (dir (getattr search)))
(allow base_typeattr_73_28_0 vendor_file_type (dir (ioctl read getattr lock search open)))
(allow base_typeattr_73_28_0 vendor_file_type (file (read getattr map execute open)))
(allow base_typeattr_73_28_0 vendor_file_type (lnk_file (read getattr)))
(allow domain sysfs_28_0 (lnk_file (read getattr)))
(allow domain zoneinfo_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow domain zoneinfo_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow domain sysfs_devices_system_cpu_28_0 (dir (ioctl read getattr lock search open)))
(allow domain sysfs_devices_system_cpu_28_0 (file (ioctl read getattr lock map open)))
(allow domain sysfs_devices_system_cpu_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow domain sysfs_usb_28_0 (dir (ioctl read getattr lock search open)))
(allow domain sysfs_usb_28_0 (file (ioctl read getattr lock map open)))
(allow domain sysfs_usb_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow appdomain system_data_file_28_0 (dir (getattr)))
(allow coredomain system_data_file_28_0 (dir (getattr)))
(allow domain system_data_file_28_0 (dir (search)))
(allow domain vendor_data_file_28_0 (dir (getattr search)))
(allow domain proc_28_0 (lnk_file (read getattr)))
(allow domain proc_cpuinfo_28_0 (file (ioctl read getattr lock map open)))
(allow domain proc_overcommit_memory_28_0 (file (ioctl read getattr lock map open)))
(allow domain proc_perf_28_0 (file (ioctl read getattr lock map open)))
(allow domain selinuxfs_28_0 (dir (search)))
(allow domain selinuxfs_28_0 (file (getattr)))
(allow domain sysfs_28_0 (dir (search)))
(allow domain selinuxfs_28_0 (filesystem (getattr)))
(allow domain cgroup_28_0 (dir (write search)))
(allow domain cgroup_28_0 (file (write lock append map open)))
(allow domain debugfs_28_0 (dir (search)))
(allow domain debugfs_tracing_28_0 (dir (search)))
(allow domain debugfs_tracing_debug_28_0 (dir (search)))
(allow domain debugfs_trace_marker_28_0 (file (write lock append map open)))
(allow domain fs_type (filesystem (getattr)))
(allow domain fs_type (dir (getattr)))
(allowx domain domain (ioctl tcp_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx domain domain (ioctl udp_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx domain domain (ioctl rawip_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx domain domain (ioctl tcp_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx domain domain (ioctl udp_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx domain domain (ioctl rawip_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx domain domain (ioctl tcp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(allowx domain domain (ioctl udp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(allowx domain domain (ioctl rawip_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(allowx domain domain (ioctl unix_stream_socket (0x5401 0x5411 ((range 0x5413 0x5414)) 0x541b 0x5451)))
(allowx domain domain (ioctl unix_dgram_socket (0x5401 0x5411 ((range 0x5413 0x5414)) 0x541b 0x5451)))
(allowx domain devpts_28_0 (ioctl chr_file (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allow base_typeattr_74_28_0 hwservice_manager_type (hwservice_manager (add find)))
(allow base_typeattr_74_28_0 vndservice_manager_type (service_manager (add find)))
(neverallowx domain domain (ioctl socket (0x0)))
(neverallowx domain domain (ioctl tcp_socket (0x0)))
(neverallowx domain domain (ioctl udp_socket (0x0)))
(neverallowx domain domain (ioctl rawip_socket (0x0)))
(neverallowx domain domain (ioctl netlink_socket (0x0)))
(neverallowx domain domain (ioctl packet_socket (0x0)))
(neverallowx domain domain (ioctl key_socket (0x0)))
(neverallowx domain domain (ioctl unix_stream_socket (0x0)))
(neverallowx domain domain (ioctl unix_dgram_socket (0x0)))
(neverallowx domain domain (ioctl netlink_route_socket (0x0)))
(neverallowx domain domain (ioctl netlink_tcpdiag_socket (0x0)))
(neverallowx domain domain (ioctl netlink_nflog_socket (0x0)))
(neverallowx domain domain (ioctl netlink_xfrm_socket (0x0)))
(neverallowx domain domain (ioctl netlink_selinux_socket (0x0)))
(neverallowx domain domain (ioctl netlink_audit_socket (0x0)))
(neverallowx domain domain (ioctl netlink_dnrt_socket (0x0)))
(neverallowx domain domain (ioctl netlink_kobject_uevent_socket (0x0)))
(neverallowx domain domain (ioctl appletalk_socket (0x0)))
(neverallowx domain domain (ioctl tun_socket (0x0)))
(neverallowx domain domain (ioctl netlink_iscsi_socket (0x0)))
(neverallowx domain domain (ioctl netlink_fib_lookup_socket (0x0)))
(neverallowx domain domain (ioctl netlink_connector_socket (0x0)))
(neverallowx domain domain (ioctl netlink_netfilter_socket (0x0)))
(neverallowx domain domain (ioctl netlink_generic_socket (0x0)))
(neverallowx domain domain (ioctl netlink_scsitransport_socket (0x0)))
(neverallowx domain domain (ioctl netlink_rdma_socket (0x0)))
(neverallowx domain domain (ioctl netlink_crypto_socket (0x0)))
(neverallowx domain domain (ioctl sctp_socket (0x0)))
(neverallowx domain domain (ioctl icmp_socket (0x0)))
(neverallowx domain domain (ioctl ax25_socket (0x0)))
(neverallowx domain domain (ioctl ipx_socket (0x0)))
(neverallowx domain domain (ioctl netrom_socket (0x0)))
(neverallowx domain domain (ioctl atmpvc_socket (0x0)))
(neverallowx domain domain (ioctl x25_socket (0x0)))
(neverallowx domain domain (ioctl rose_socket (0x0)))
(neverallowx domain domain (ioctl decnet_socket (0x0)))
(neverallowx domain domain (ioctl atmsvc_socket (0x0)))
(neverallowx domain domain (ioctl rds_socket (0x0)))
(neverallowx domain domain (ioctl irda_socket (0x0)))
(neverallowx domain domain (ioctl pppox_socket (0x0)))
(neverallowx domain domain (ioctl llc_socket (0x0)))
(neverallowx domain domain (ioctl can_socket (0x0)))
(neverallowx domain domain (ioctl tipc_socket (0x0)))
(neverallowx domain domain (ioctl bluetooth_socket (0x0)))
(neverallowx domain domain (ioctl iucv_socket (0x0)))
(neverallowx domain domain (ioctl rxrpc_socket (0x0)))
(neverallowx domain domain (ioctl isdn_socket (0x0)))
(neverallowx domain domain (ioctl phonet_socket (0x0)))
(neverallowx domain domain (ioctl ieee802154_socket (0x0)))
(neverallowx domain domain (ioctl caif_socket (0x0)))
(neverallowx domain domain (ioctl alg_socket (0x0)))
(neverallowx domain domain (ioctl nfc_socket (0x0)))
(neverallowx domain domain (ioctl vsock_socket (0x0)))
(neverallowx domain domain (ioctl kcm_socket (0x0)))
(neverallowx domain domain (ioctl qipcrtr_socket (0x0)))
(neverallowx domain domain (ioctl smc_socket (0x0)))
(neverallowx domain domain (ioctl socket (0x8905)))
(neverallowx domain domain (ioctl tcp_socket (0x8905)))
(neverallowx domain domain (ioctl udp_socket (0x8905)))
(neverallowx domain domain (ioctl rawip_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_socket (0x8905)))
(neverallowx domain domain (ioctl packet_socket (0x8905)))
(neverallowx domain domain (ioctl key_socket (0x8905)))
(neverallowx domain domain (ioctl unix_stream_socket (0x8905)))
(neverallowx domain domain (ioctl unix_dgram_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_route_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_tcpdiag_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_nflog_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_xfrm_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_selinux_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_audit_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_dnrt_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_kobject_uevent_socket (0x8905)))
(neverallowx domain domain (ioctl appletalk_socket (0x8905)))
(neverallowx domain domain (ioctl tun_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_iscsi_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_fib_lookup_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_connector_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_netfilter_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_generic_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_scsitransport_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_rdma_socket (0x8905)))
(neverallowx domain domain (ioctl netlink_crypto_socket (0x8905)))
(neverallowx domain domain (ioctl sctp_socket (0x8905)))
(neverallowx domain domain (ioctl icmp_socket (0x8905)))
(neverallowx domain domain (ioctl ax25_socket (0x8905)))
(neverallowx domain domain (ioctl ipx_socket (0x8905)))
(neverallowx domain domain (ioctl netrom_socket (0x8905)))
(neverallowx domain domain (ioctl atmpvc_socket (0x8905)))
(neverallowx domain domain (ioctl x25_socket (0x8905)))
(neverallowx domain domain (ioctl rose_socket (0x8905)))
(neverallowx domain domain (ioctl decnet_socket (0x8905)))
(neverallowx domain domain (ioctl atmsvc_socket (0x8905)))
(neverallowx domain domain (ioctl rds_socket (0x8905)))
(neverallowx domain domain (ioctl irda_socket (0x8905)))
(neverallowx domain domain (ioctl pppox_socket (0x8905)))
(neverallowx domain domain (ioctl llc_socket (0x8905)))
(neverallowx domain domain (ioctl can_socket (0x8905)))
(neverallowx domain domain (ioctl tipc_socket (0x8905)))
(neverallowx domain domain (ioctl bluetooth_socket (0x8905)))
(neverallowx domain domain (ioctl iucv_socket (0x8905)))
(neverallowx domain domain (ioctl rxrpc_socket (0x8905)))
(neverallowx domain domain (ioctl isdn_socket (0x8905)))
(neverallowx domain domain (ioctl phonet_socket (0x8905)))
(neverallowx domain domain (ioctl ieee802154_socket (0x8905)))
(neverallowx domain domain (ioctl caif_socket (0x8905)))
(neverallowx domain domain (ioctl alg_socket (0x8905)))
(neverallowx domain domain (ioctl nfc_socket (0x8905)))
(neverallowx domain domain (ioctl vsock_socket (0x8905)))
(neverallowx domain domain (ioctl kcm_socket (0x8905)))
(neverallowx domain domain (ioctl qipcrtr_socket (0x8905)))
(neverallowx domain domain (ioctl smc_socket (0x8905)))
(neverallowx base_typeattr_59_28_0 devpts_28_0 (ioctl chr_file (0x5412)))
(neverallow base_typeattr_75_28_0 unlabeled_28_0 (file (create)))
(neverallow base_typeattr_75_28_0 unlabeled_28_0 (dir (create)))
(neverallow base_typeattr_75_28_0 unlabeled_28_0 (lnk_file (create)))
(neverallow base_typeattr_75_28_0 unlabeled_28_0 (chr_file (create)))
(neverallow base_typeattr_75_28_0 unlabeled_28_0 (blk_file (create)))
(neverallow base_typeattr_75_28_0 unlabeled_28_0 (sock_file (create)))
(neverallow base_typeattr_75_28_0 unlabeled_28_0 (fifo_file (create)))
(neverallow base_typeattr_76_28_0 self (capability (mknod)))
(neverallow base_typeattr_76_28_0 self (cap_userns (mknod)))
(neverallow base_typeattr_77_28_0 self (capability (sys_rawio)))
(neverallow base_typeattr_77_28_0 self (cap_userns (sys_rawio)))
(neverallow base_typeattr_59_28_0 self (memprotect (mmap_zero)))
(neverallow base_typeattr_59_28_0 self (capability2 (mac_override)))
(neverallow base_typeattr_59_28_0 self (cap2_userns (mac_override)))
(neverallow base_typeattr_59_28_0 self (capability2 (mac_admin)))
(neverallow base_typeattr_59_28_0 self (cap2_userns (mac_admin)))
(neverallow base_typeattr_59_28_0 kernel_28_0 (security (load_policy)))
(neverallow base_typeattr_59_28_0 kernel_28_0 (security (setenforce)))
(neverallow base_typeattr_78_28_0 kernel_28_0 (security (setcheckreqprot)))
(neverallow base_typeattr_59_28_0 kernel_28_0 (security (setbool)))
(neverallow base_typeattr_69_28_0 kernel_28_0 (security (setsecparam)))
(neverallow base_typeattr_79_28_0 hw_random_device_28_0 (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_80_28_0 keychord_device_28_0 (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_59_28_0 base_typeattr_81_28_0 (file (entrypoint)))
(neverallow base_typeattr_82_28_0 kmem_device_28_0 (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_59_28_0 kmem_device_28_0 (chr_file (ioctl read write lock relabelfrom append map link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_82_28_0 port_device_28_0 (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_59_28_0 port_device_28_0 (chr_file (ioctl read write lock relabelfrom append map link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_69_28_0 usermodehelper_28_0 (file (write append)))
(neverallow base_typeattr_83_28_0 sysfs_usermodehelper_28_0 (file (write append)))
(neverallow base_typeattr_84_28_0 proc_security_28_0 (file (read write append open)))
(neverallow base_typeattr_59_28_0 init_28_0 (process (ptrace)))
(neverallow base_typeattr_59_28_0 init_28_0 (binder (impersonate call set_context_mgr transfer)))
(neverallow base_typeattr_59_28_0 vendor_init_28_0 (binder (impersonate call set_context_mgr transfer)))
(neverallow base_typeattr_85_28_0 block_device_28_0 (blk_file (read write open)))
(neverallow base_typeattr_59_28_0 base_typeattr_59_28_0 (chr_file (rename)))
(neverallow base_typeattr_59_28_0 base_typeattr_59_28_0 (blk_file (rename)))
(neverallow domain device_28_0 (chr_file (read write open)))
(neverallow base_typeattr_86_28_0 base_typeattr_87_28_0 (filesystem (mount remount relabelfrom relabelto)))
(neverallow base_typeattr_88_28_0 base_typeattr_89_28_0 (file (execute)))
(neverallow base_typeattr_90_28_0 base_typeattr_91_28_0 (file (execute)))
(neverallow domain cache_file_28_0 (file (execute)))
(neverallow domain cache_backup_file_28_0 (file (execute)))
(neverallow domain cache_private_backup_file_28_0 (file (execute)))
(neverallow domain cache_recovery_file_28_0 (file (execute)))
(neverallow base_typeattr_52_28_0 base_typeattr_60_28_0 (file (execute execute_no_trans)))
(neverallow base_typeattr_78_28_0 nativetest_data_file_28_0 (file (write create setattr relabelfrom append unlink link rename)))
(neverallow base_typeattr_78_28_0 nativetest_data_file_28_0 (lnk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow base_typeattr_78_28_0 nativetest_data_file_28_0 (chr_file (write create setattr relabelfrom append unlink link rename)))
(neverallow base_typeattr_78_28_0 nativetest_data_file_28_0 (blk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow base_typeattr_78_28_0 nativetest_data_file_28_0 (sock_file (write create setattr relabelfrom append unlink link rename)))
(neverallow base_typeattr_78_28_0 nativetest_data_file_28_0 (fifo_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain nativetest_data_file_28_0 (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
(neverallow base_typeattr_92_28_0 nativetest_data_file_28_0 (file (execute execute_no_trans)))
(neverallow base_typeattr_69_28_0 property_data_file_28_0 (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
(neverallow base_typeattr_69_28_0 property_data_file_28_0 (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
(neverallow base_typeattr_69_28_0 property_type (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
(neverallow base_typeattr_69_28_0 properties_device_28_0 (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
(neverallow base_typeattr_69_28_0 properties_serial_28_0 (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
(neverallow domain exec_type (file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain exec_type (dir (write create setattr relabelfrom append unlink link rename)))
(neverallow domain exec_type (lnk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain exec_type (chr_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain exec_type (blk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain exec_type (sock_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain exec_type (fifo_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain vendor_file_type (file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain vendor_file_type (dir (write create setattr relabelfrom append unlink link rename)))
(neverallow domain vendor_file_type (lnk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain vendor_file_type (chr_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain vendor_file_type (blk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain vendor_file_type (sock_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain vendor_file_type (fifo_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain system_file_28_0 (file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain system_file_28_0 (dir (write create setattr relabelfrom append unlink link rename)))
(neverallow domain system_file_28_0 (lnk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain system_file_28_0 (chr_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain system_file_28_0 (blk_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain system_file_28_0 (sock_file (write create setattr relabelfrom append unlink link rename)))
(neverallow domain system_file_28_0 (fifo_file (write create setattr relabelfrom append unlink link rename)))
(neverallow base_typeattr_78_28_0 exec_type (file (relabelto)))
(neverallow base_typeattr_78_28_0 exec_type (dir (relabelto)))
(neverallow base_typeattr_78_28_0 exec_type (lnk_file (relabelto)))
(neverallow base_typeattr_78_28_0 exec_type (chr_file (relabelto)))
(neverallow base_typeattr_78_28_0 exec_type (blk_file (relabelto)))
(neverallow base_typeattr_78_28_0 exec_type (sock_file (relabelto)))
(neverallow base_typeattr_78_28_0 exec_type (fifo_file (relabelto)))
(neverallow base_typeattr_78_28_0 vendor_file_type (file (relabelto)))
(neverallow base_typeattr_78_28_0 vendor_file_type (dir (relabelto)))
(neverallow base_typeattr_78_28_0 vendor_file_type (lnk_file (relabelto)))
(neverallow base_typeattr_78_28_0 vendor_file_type (chr_file (relabelto)))
(neverallow base_typeattr_78_28_0 vendor_file_type (blk_file (relabelto)))
(neverallow base_typeattr_78_28_0 vendor_file_type (sock_file (relabelto)))
(neverallow base_typeattr_78_28_0 vendor_file_type (fifo_file (relabelto)))
(neverallow base_typeattr_78_28_0 system_file_28_0 (file (relabelto)))
(neverallow base_typeattr_78_28_0 system_file_28_0 (dir (relabelto)))
(neverallow base_typeattr_78_28_0 system_file_28_0 (lnk_file (relabelto)))
(neverallow base_typeattr_78_28_0 system_file_28_0 (chr_file (relabelto)))
(neverallow base_typeattr_78_28_0 system_file_28_0 (blk_file (relabelto)))
(neverallow base_typeattr_78_28_0 system_file_28_0 (sock_file (relabelto)))
(neverallow base_typeattr_78_28_0 system_file_28_0 (fifo_file (relabelto)))
(neverallow base_typeattr_59_28_0 exec_type (file (mounton)))
(neverallow base_typeattr_59_28_0 exec_type (dir (mounton)))
(neverallow base_typeattr_59_28_0 exec_type (lnk_file (mounton)))
(neverallow base_typeattr_59_28_0 exec_type (chr_file (mounton)))
(neverallow base_typeattr_59_28_0 exec_type (blk_file (mounton)))
(neverallow base_typeattr_59_28_0 exec_type (sock_file (mounton)))
(neverallow base_typeattr_59_28_0 exec_type (fifo_file (mounton)))
(neverallow base_typeattr_69_28_0 vendor_file_type (file (mounton)))
(neverallow base_typeattr_69_28_0 vendor_file_type (dir (mounton)))
(neverallow base_typeattr_69_28_0 vendor_file_type (lnk_file (mounton)))
(neverallow base_typeattr_69_28_0 vendor_file_type (chr_file (mounton)))
(neverallow base_typeattr_69_28_0 vendor_file_type (blk_file (mounton)))
(neverallow base_typeattr_69_28_0 vendor_file_type (sock_file (mounton)))
(neverallow base_typeattr_69_28_0 vendor_file_type (fifo_file (mounton)))
(neverallow base_typeattr_69_28_0 system_file_28_0 (file (mounton)))
(neverallow base_typeattr_69_28_0 system_file_28_0 (dir (mounton)))
(neverallow base_typeattr_69_28_0 system_file_28_0 (lnk_file (mounton)))
(neverallow base_typeattr_69_28_0 system_file_28_0 (chr_file (mounton)))
(neverallow base_typeattr_69_28_0 system_file_28_0 (blk_file (mounton)))
(neverallow base_typeattr_69_28_0 system_file_28_0 (sock_file (mounton)))
(neverallow base_typeattr_69_28_0 system_file_28_0 (fifo_file (mounton)))
(neverallow base_typeattr_59_28_0 rootfs_28_0 (file (write create setattr relabelto append unlink link rename)))
(neverallow base_typeattr_59_28_0 base_typeattr_93_28_0 (filesystem (relabelto)))
(neverallow base_typeattr_59_28_0 contextmount_type (file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_59_28_0 contextmount_type (dir (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_59_28_0 contextmount_type (lnk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_59_28_0 contextmount_type (chr_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_59_28_0 contextmount_type (blk_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_59_28_0 contextmount_type (sock_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_59_28_0 contextmount_type (fifo_file (write create setattr relabelfrom relabelto append unlink link rename)))
(neverallow base_typeattr_59_28_0 default_android_service_28_0 (service_manager (add)))
(neverallow base_typeattr_59_28_0 default_android_vndservice_28_0 (service_manager (add find)))
(neverallow base_typeattr_59_28_0 default_android_hwservice_28_0 (hwservice_manager (add find)))
(neverallow base_typeattr_59_28_0 hidl_base_hwservice_28_0 (hwservice_manager (find)))
(neverallow base_typeattr_84_28_0 default_prop_28_0 (property_service (set)))
(neverallow base_typeattr_84_28_0 mmc_prop_28_0 (property_service (set)))
(neverallow base_typeattr_69_28_0 default_prop_28_0 (property_service (set)))
(neverallow base_typeattr_69_28_0 mmc_prop_28_0 (property_service (set)))
(neverallow base_typeattr_84_28_0 exported_default_prop_28_0 (property_service (set)))
(neverallow base_typeattr_69_28_0 exported_secure_prop_28_0 (property_service (set)))
(neverallow base_typeattr_69_28_0 exported2_default_prop_28_0 (property_service (set)))
(neverallow base_typeattr_84_28_0 exported3_default_prop_28_0 (property_service (set)))
(neverallow base_typeattr_84_28_0 vendor_default_prop_28_0 (property_service (set)))
(neverallow base_typeattr_94_28_0 pm_prop_28_0 (property_service (set)))
(neverallow base_typeattr_73_28_0 pm_prop_28_0 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_95_28_0 exported_pm_prop_28_0 (property_service (set)))
(neverallow base_typeattr_96_28_0 exported_pm_prop_28_0 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_97_28_0 serialno_prop_28_0 (file (ioctl read getattr lock map open)))
(neverallow base_typeattr_98_28_0 firstboot_prop_28_0 (file (ioctl read getattr lock map open)))
(neverallow base_typeattr_99_28_0 frp_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_100_28_0 metadata_block_device_28_0 (blk_file (ioctl read write lock append link rename open)))
(neverallow base_typeattr_101_28_0 system_block_device_28_0 (blk_file (write append)))
(neverallow base_typeattr_102_28_0 recovery_block_device_28_0 (blk_file (write append)))
(neverallow base_typeattr_103_28_0 misc_block_device_28_0 (blk_file (ioctl read write lock relabelfrom append link rename open)))
(neverallow base_typeattr_104_28_0 base_typeattr_59_28_0 (binder (set_context_mgr)))
(neverallow servicemanager_28_0 hwbinder_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow servicemanager_28_0 vndbinder_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow hwservicemanager_28_0 binder_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow hwservicemanager_28_0 vndbinder_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow vndservicemanager_28_0 binder_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow vndservicemanager_28_0 hwbinder_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_105_28_0 binder_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(neverallow base_typeattr_105_28_0 service_manager_type (service_manager (find)))
(neverallow base_typeattr_106_28_0 base_typeattr_107_28_0 (service_manager (find)))
(neverallow base_typeattr_105_28_0 servicemanager_28_0 (binder (call transfer)))
(neverallow base_typeattr_108_28_0 vndbinder_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(neverallow ueventd_28_0 vndbinder_device_28_0 (chr_file (ioctl read write append)))
(neverallow base_typeattr_109_28_0 vndservice_manager_type (service_manager (add find list)))
(neverallow base_typeattr_109_28_0 vndservicemanager_28_0 (binder (impersonate call set_context_mgr transfer)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (tcp_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (udp_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (rawip_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (packet_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (key_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (unix_stream_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (unix_dgram_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_route_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_tcpdiag_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_nflog_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_xfrm_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_selinux_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_audit_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_dnrt_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_kobject_uevent_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (appletalk_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (tun_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_iscsi_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_fib_lookup_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_connector_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_netfilter_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_generic_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_scsitransport_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_rdma_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netlink_crypto_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (sctp_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (icmp_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (ax25_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (ipx_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (netrom_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (atmpvc_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (x25_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (rose_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (decnet_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (atmsvc_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (rds_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (irda_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (pppox_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (llc_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (can_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (tipc_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (bluetooth_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (iucv_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (rxrpc_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (isdn_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (phonet_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (ieee802154_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (caif_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (alg_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (nfc_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (vsock_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (kcm_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (qipcrtr_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (smc_socket (connect sendto)))
(neverallow base_typeattr_110_28_0 base_typeattr_111_28_0 (unix_stream_socket (connectto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (tcp_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (udp_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (rawip_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (packet_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (key_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (unix_stream_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (unix_dgram_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_route_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_tcpdiag_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_nflog_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_xfrm_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_selinux_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_audit_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_dnrt_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_kobject_uevent_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (appletalk_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (tun_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_iscsi_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_fib_lookup_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_connector_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_netfilter_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_generic_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_scsitransport_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_rdma_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netlink_crypto_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (sctp_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (icmp_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (ax25_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (ipx_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (netrom_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (atmpvc_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (x25_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (rose_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (decnet_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (atmsvc_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (rds_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (irda_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (pppox_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (llc_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (can_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (tipc_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (bluetooth_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (iucv_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (rxrpc_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (isdn_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (phonet_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (ieee802154_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (caif_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (alg_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (nfc_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (vsock_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (kcm_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (qipcrtr_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (smc_socket (connect sendto)))
(neverallow base_typeattr_112_28_0 base_typeattr_113_28_0 (unix_stream_socket (connectto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (tcp_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (udp_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (rawip_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (packet_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (key_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (unix_stream_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (unix_dgram_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_route_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_tcpdiag_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_nflog_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_xfrm_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_selinux_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_audit_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_dnrt_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_kobject_uevent_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (appletalk_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (tun_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_iscsi_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_fib_lookup_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_connector_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_netfilter_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_generic_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_scsitransport_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_rdma_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netlink_crypto_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (sctp_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (icmp_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (ax25_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (ipx_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (netrom_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (atmpvc_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (x25_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (rose_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (decnet_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (atmsvc_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (rds_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (irda_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (pppox_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (llc_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (can_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (tipc_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (bluetooth_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (iucv_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (rxrpc_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (isdn_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (phonet_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (ieee802154_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (caif_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (alg_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (nfc_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (vsock_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (kcm_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (qipcrtr_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (smc_socket (connect sendto)))
(neverallow base_typeattr_114_28_0 netd_28_0 (unix_stream_socket (connectto)))
(neverallow base_typeattr_115_28_0 core_data_file_type (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_115_28_0 coredomain_socket (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_115_28_0 unlabeled_28_0 (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_106_28_0 base_typeattr_116_28_0 (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_117_28_0 base_typeattr_118_28_0 (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_119_28_0 base_typeattr_120_28_0 (file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_119_28_0 base_typeattr_120_28_0 (lnk_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_119_28_0 base_typeattr_120_28_0 (chr_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_119_28_0 base_typeattr_120_28_0 (blk_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_119_28_0 base_typeattr_120_28_0 (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_119_28_0 base_typeattr_120_28_0 (fifo_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_119_28_0 base_typeattr_121_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow base_typeattr_122_28_0 base_typeattr_123_28_0 (file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_122_28_0 base_typeattr_123_28_0 (lnk_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_122_28_0 base_typeattr_123_28_0 (chr_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_122_28_0 base_typeattr_123_28_0 (blk_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_122_28_0 base_typeattr_123_28_0 (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_122_28_0 base_typeattr_123_28_0 (fifo_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_124_28_0 base_typeattr_125_28_0 (file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_124_28_0 base_typeattr_125_28_0 (lnk_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_124_28_0 base_typeattr_125_28_0 (chr_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_124_28_0 base_typeattr_125_28_0 (blk_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_124_28_0 base_typeattr_125_28_0 (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_124_28_0 base_typeattr_125_28_0 (fifo_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow vendor_init_28_0 unencrypted_data_file_28_0 (file (write create setattr relabelfrom relabelto append unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod audit_access)))
(neverallow base_typeattr_122_28_0 base_typeattr_126_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow base_typeattr_124_28_0 base_typeattr_127_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow vendor_init_28_0 unencrypted_data_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent rmdir open audit_access execmod)))
(neverallow base_typeattr_128_28_0 system_data_file_28_0 (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent rmdir open audit_access execmod)))
(neverallow base_typeattr_129_28_0 vendor_data_file_28_0 (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent rmdir open audit_access execmod)))
(neverallow base_typeattr_130_28_0 vendor_data_file_28_0 (file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_130_28_0 vendor_data_file_28_0 (lnk_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_130_28_0 vendor_data_file_28_0 (chr_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_130_28_0 vendor_data_file_28_0 (blk_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_130_28_0 vendor_data_file_28_0 (sock_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_130_28_0 vendor_data_file_28_0 (fifo_file (create setattr lock relabelfrom relabelto map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_131_28_0 vendor_app_file_28_0 (dir (read getattr search open)))
(neverallow base_typeattr_131_28_0 vendor_app_file_28_0 (file (ioctl read getattr lock map open)))
(neverallow base_typeattr_132_28_0 vendor_overlay_file_28_0 (dir (read getattr search open)))
(neverallow base_typeattr_132_28_0 vendor_overlay_file_28_0 (file (ioctl read getattr lock map open)))
(neverallow base_typeattr_133_28_0 vendor_shell_exec_28_0 (file (execute execute_no_trans)))
(neverallow base_typeattr_134_28_0 base_typeattr_135_28_0 (file (execute execute_no_trans entrypoint)))
(neverallow base_typeattr_136_28_0 base_typeattr_137_28_0 (file (execute)))
(neverallow base_typeattr_138_28_0 vendor_file_type (file (execute_no_trans)))
(neverallow base_typeattr_139_28_0 dalvikcache_data_file_28_0 (file (write create setattr relabelfrom append unlink link rename)))
(neverallow base_typeattr_139_28_0 dalvikcache_data_file_28_0 (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
(neverallow base_typeattr_140_28_0 zygote_28_0 (unix_stream_socket (connectto)))
(neverallow base_typeattr_141_28_0 zygote_socket_28_0 (sock_file (write)))
(neverallow base_typeattr_142_28_0 webview_zygote_28_0 (unix_stream_socket (connectto)))
(neverallow base_typeattr_141_28_0 webview_zygote_28_0 (sock_file (write)))
(neverallow base_typeattr_143_28_0 tombstoned_crash_socket_28_0 (unix_stream_socket (connectto)))
(neverallow base_typeattr_144_28_0 tombstoned_intercept_socket_28_0 (sock_file (write)))
(neverallow base_typeattr_144_28_0 tombstoned_intercept_socket_28_0 (unix_stream_socket (connectto)))
(neverallow base_typeattr_59_28_0 base_typeattr_59_28_0 (sem (create destroy getattr setattr read write associate unix_read unix_write)))
(neverallow base_typeattr_59_28_0 base_typeattr_59_28_0 (msg (send receive)))
(neverallow base_typeattr_59_28_0 base_typeattr_59_28_0 (msgq (create destroy getattr setattr read write associate unix_read unix_write enqueue)))
(neverallow base_typeattr_59_28_0 base_typeattr_59_28_0 (shm (create destroy getattr setattr read write associate unix_read unix_write lock)))
(neverallow base_typeattr_59_28_0 dev_type (lnk_file (mounton)))
(neverallow base_typeattr_59_28_0 dev_type (sock_file (mounton)))
(neverallow base_typeattr_59_28_0 dev_type (fifo_file (mounton)))
(neverallow base_typeattr_59_28_0 fs_type (lnk_file (mounton)))
(neverallow base_typeattr_59_28_0 fs_type (sock_file (mounton)))
(neverallow base_typeattr_59_28_0 fs_type (fifo_file (mounton)))
(neverallow base_typeattr_59_28_0 file_type (lnk_file (mounton)))
(neverallow base_typeattr_59_28_0 file_type (sock_file (mounton)))
(neverallow base_typeattr_59_28_0 file_type (fifo_file (mounton)))
(neverallow base_typeattr_145_28_0 su_exec_28_0 (file (execute execute_no_trans)))
(neverallow base_typeattr_59_28_0 base_typeattr_146_28_0 (file (execmod)))
(neverallow base_typeattr_59_28_0 self (process (execstack execheap)))
(neverallow base_typeattr_147_28_0 file_type (file (execmod)))
(neverallow base_typeattr_69_28_0 proc_28_0 (file (mounton)))
(neverallow base_typeattr_69_28_0 proc_28_0 (dir (mounton)))
(neverallow base_typeattr_148_28_0 domain (process (transition dyntransition)))
(neverallow base_typeattr_149_28_0 system_data_file_28_0 (file (write create setattr relabelfrom append unlink link rename)))
(neverallow installd_28_0 system_data_file_28_0 (file (write create setattr relabelto append link rename execute quotaon mounton execute_no_trans entrypoint execmod audit_access)))
(neverallow base_typeattr_150_28_0 system_app_data_file_28_0 (file (create unlink open)))
(neverallow base_typeattr_150_28_0 system_app_data_file_28_0 (dir (create unlink open)))
(neverallow base_typeattr_150_28_0 system_app_data_file_28_0 (lnk_file (create unlink open)))
(neverallow base_typeattr_150_28_0 system_app_data_file_28_0 (chr_file (create unlink open)))
(neverallow base_typeattr_150_28_0 system_app_data_file_28_0 (blk_file (create unlink open)))
(neverallow base_typeattr_150_28_0 system_app_data_file_28_0 (sock_file (create unlink open)))
(neverallow base_typeattr_150_28_0 system_app_data_file_28_0 (fifo_file (create unlink open)))
(neverallow untrusted_app_all system_app_data_file_28_0 (file (create unlink open)))
(neverallow untrusted_app_all system_app_data_file_28_0 (dir (create unlink open)))
(neverallow untrusted_app_all system_app_data_file_28_0 (lnk_file (create unlink open)))
(neverallow untrusted_app_all system_app_data_file_28_0 (chr_file (create unlink open)))
(neverallow untrusted_app_all system_app_data_file_28_0 (blk_file (create unlink open)))
(neverallow untrusted_app_all system_app_data_file_28_0 (sock_file (create unlink open)))
(neverallow untrusted_app_all system_app_data_file_28_0 (fifo_file (create unlink open)))
(neverallow ephemeral_app_28_0 system_app_data_file_28_0 (file (create unlink open)))
(neverallow ephemeral_app_28_0 system_app_data_file_28_0 (dir (create unlink open)))
(neverallow ephemeral_app_28_0 system_app_data_file_28_0 (lnk_file (create unlink open)))
(neverallow ephemeral_app_28_0 system_app_data_file_28_0 (chr_file (create unlink open)))
(neverallow ephemeral_app_28_0 system_app_data_file_28_0 (blk_file (create unlink open)))
(neverallow ephemeral_app_28_0 system_app_data_file_28_0 (sock_file (create unlink open)))
(neverallow ephemeral_app_28_0 system_app_data_file_28_0 (fifo_file (create unlink open)))
(neverallow isolated_app_28_0 system_app_data_file_28_0 (file (create unlink open)))
(neverallow isolated_app_28_0 system_app_data_file_28_0 (dir (create unlink open)))
(neverallow isolated_app_28_0 system_app_data_file_28_0 (lnk_file (create unlink open)))
(neverallow isolated_app_28_0 system_app_data_file_28_0 (chr_file (create unlink open)))
(neverallow isolated_app_28_0 system_app_data_file_28_0 (blk_file (create unlink open)))
(neverallow isolated_app_28_0 system_app_data_file_28_0 (sock_file (create unlink open)))
(neverallow isolated_app_28_0 system_app_data_file_28_0 (fifo_file (create unlink open)))
(neverallow priv_app_28_0 system_app_data_file_28_0 (file (create unlink open)))
(neverallow priv_app_28_0 system_app_data_file_28_0 (dir (create unlink open)))
(neverallow priv_app_28_0 system_app_data_file_28_0 (lnk_file (create unlink open)))
(neverallow priv_app_28_0 system_app_data_file_28_0 (chr_file (create unlink open)))
(neverallow priv_app_28_0 system_app_data_file_28_0 (blk_file (create unlink open)))
(neverallow priv_app_28_0 system_app_data_file_28_0 (sock_file (create unlink open)))
(neverallow priv_app_28_0 system_app_data_file_28_0 (fifo_file (create unlink open)))
(neverallow base_typeattr_151_28_0 app_data_file_28_0 (file (create unlink)))
(neverallow base_typeattr_151_28_0 app_data_file_28_0 (dir (create unlink)))
(neverallow base_typeattr_151_28_0 app_data_file_28_0 (lnk_file (create unlink)))
(neverallow base_typeattr_151_28_0 app_data_file_28_0 (chr_file (create unlink)))
(neverallow base_typeattr_151_28_0 app_data_file_28_0 (blk_file (create unlink)))
(neverallow base_typeattr_151_28_0 app_data_file_28_0 (sock_file (create unlink)))
(neverallow base_typeattr_151_28_0 app_data_file_28_0 (fifo_file (create unlink)))
(neverallow base_typeattr_152_28_0 shell_28_0 (process (transition dyntransition)))
(neverallow base_typeattr_153_28_0 base_typeattr_54_28_0 (process (transition dyntransition)))
(neverallow base_typeattr_154_28_0 app_data_file_28_0 (lnk_file (read)))
(neverallow base_typeattr_155_28_0 shell_data_file_28_0 (lnk_file (read)))
(neverallow base_typeattr_156_28_0 shell_data_file_28_0 (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
(neverallow base_typeattr_157_28_0 shell_data_file_28_0 (dir (search open)))
(neverallow base_typeattr_158_28_0 shell_data_file_28_0 (file (open)))
(neverallow base_typeattr_59_28_0 base_typeattr_159_28_0 (service_manager (list)))
(neverallow base_typeattr_59_28_0 base_typeattr_160_28_0 (hwservice_manager (list)))
(neverallow base_typeattr_59_28_0 domain (file (execute execute_no_trans entrypoint)))
(neverallow base_typeattr_161_28_0 debugfs_28_0 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_162_28_0 profman_exec_28_0 (file (execute execute_no_trans)))
(neverallow base_typeattr_59_28_0 base_typeattr_163_28_0 (system (module_load)))
(neverallow base_typeattr_59_28_0 self (capability (setfcap)))
(neverallow base_typeattr_59_28_0 self (cap_userns (setfcap)))
(neverallow domain crash_dump_28_0 (process (noatsecure)))
(neverallow base_typeattr_164_28_0 coredomain_hwservice (hwservice_manager (add)))
(neverallow base_typeattr_59_28_0 same_process_hwservice (hwservice_manager (add)))
(neverallow base_typeattr_165_28_0 vendor_file_28_0 (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans open)))
(neverallow base_typeattr_166_28_0 self (capability (dac_override)))
(neverallow base_typeattr_167_28_0 self (capability (dac_read_search)))
(neverallow domain proc_type (dir (write create link rename add_name remove_name reparent rmdir)))
(neverallow domain sysfs_type (dir (write create link rename add_name remove_name reparent rmdir)))
(neverallow domain cgroup_28_0 (file (create)))
(dontaudit domain proc_type (dir (write)))
(dontaudit domain sysfs_type (dir (write)))
(dontaudit domain cgroup_28_0 (file (create)))
(dontaudit domain proc_type (dir (add_name)))
(dontaudit domain sysfs_type (dir (add_name)))
(dontaudit domain proc_type (file (create)))
(dontaudit domain sysfs_type (file (create)))
(neverallow base_typeattr_168_28_0 mnt_vendor_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(allow drmserver_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 drmserver_28_0 (dir (search)))
(allow servicemanager_28_0 drmserver_28_0 (file (read open)))
(allow servicemanager_28_0 drmserver_28_0 (process (getattr)))
(allow drmserver_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 drmserver_28_0 (binder (transfer)))
(allow drmserver_28_0 system_server_28_0 (fd (use)))
(allow drmserver_28_0 appdomain (binder (call transfer)))
(allow appdomain drmserver_28_0 (binder (transfer)))
(allow drmserver_28_0 appdomain (fd (use)))
(allow drmserver_28_0 system_server_28_0 (fd (use)))
(allow drmserver_28_0 mediaserver_28_0 (binder (call transfer)))
(allow mediaserver_28_0 drmserver_28_0 (binder (transfer)))
(allow drmserver_28_0 mediaserver_28_0 (fd (use)))
(allow drmserver_28_0 sdcard_type (dir (search)))
(allow drmserver_28_0 drm_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow drmserver_28_0 drm_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow drmserver_28_0 tee_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow drmserver_28_0 app_data_file_28_0 (file (read write getattr)))
(allow drmserver_28_0 sdcard_type (file (read write getattr)))
(allow drmserver_28_0 efs_file_28_0 (dir (ioctl read getattr lock search open)))
(allow drmserver_28_0 efs_file_28_0 (file (ioctl read getattr lock map open)))
(allow drmserver_28_0 efs_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow drmserver_28_0 apk_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow drmserver_28_0 drmserver_socket_28_0 (sock_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow drmserver_28_0 apk_data_file_28_0 (sock_file (unlink)))
(allow drmserver_28_0 media_rw_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow drmserver_28_0 media_rw_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow drmserver_28_0 media_rw_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow drmserver_28_0 apk_data_file_28_0 (file (read getattr)))
(allow drmserver_28_0 asec_apk_file_28_0 (file (read getattr)))
(allow drmserver_28_0 ringtone_file_28_0 (file (read getattr)))
(allow drmserver_28_0 radio_data_file_28_0 (file (read getattr)))
(allow drmserver_28_0 oemfs_28_0 (dir (search)))
(allow drmserver_28_0 oemfs_28_0 (file (ioctl read getattr lock map open)))
(allow drmserver_28_0 drmserver_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_169_28_0 drmserver_service_28_0 (service_manager (add)))
(allow drmserver_28_0 permission_service_28_0 (service_manager (find)))
(allow drmserver_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow drmserver_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow drmserver_28_0 selinuxfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow drmserver_28_0 selinuxfs_28_0 (file (write lock append map open)))
(allow drmserver_28_0 kernel_28_0 (security (compute_av)))
(allow drmserver_28_0 self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(allow drmserver_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow drmserver_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow drmserver_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow drmserver_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow drmserver_28_0 system_file_28_0 (file (ioctl read getattr lock map open)))
(allow drmserver_28_0 system_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 dumpstate_28_0 (dir (search)))
(allow servicemanager_28_0 dumpstate_28_0 (file (read open)))
(allow servicemanager_28_0 dumpstate_28_0 (process (getattr)))
(allow dumpstate_28_0 sysfs_wake_lock_28_0 (file (ioctl read write getattr lock append map open)))
(allow dumpstate_28_0 self (capability2 (block_suspend)))
(allow dumpstate_28_0 self (cap2_userns (block_suspend)))
(allow dumpstate_28_0 self (capability (setgid setuid sys_resource)))
(allow dumpstate_28_0 self (cap_userns (setgid setuid sys_resource)))
(allow dumpstate_28_0 domain (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 domain (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 domain (lnk_file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 self (capability (kill net_admin net_raw)))
(allow dumpstate_28_0 self (cap_userns (kill net_admin net_raw)))
(allow dumpstate_28_0 system_file_28_0 (file (execute_no_trans)))
(allow dumpstate_28_0 toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow dumpstate_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 self (capability (chown dac_override fowner fsetid)))
(allow dumpstate_28_0 self (cap_userns (chown dac_override fowner fsetid)))
(allow dumpstate_28_0 anr_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow dumpstate_28_0 anr_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow dumpstate_28_0 system_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 self (capability2 (syslog)))
(allow dumpstate_28_0 self (cap2_userns (syslog)))
(allow dumpstate_28_0 kernel_28_0 (system (syslog_read)))
(allow dumpstate_28_0 pstorefs_28_0 (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 pstorefs_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 domain (process (getattr)))
(allow dumpstate_28_0 appdomain (process (signal)))
(allow dumpstate_28_0 system_server_28_0 (process (signal)))
(allow dumpstate_28_0 hal_audio_server (process (signal)))
(allow dumpstate_28_0 hal_camera_server (process (signal)))
(allow dumpstate_28_0 hal_drm_server (process (signal)))
(allow dumpstate_28_0 hal_bluetooth_server (process (signal)))
(allow dumpstate_28_0 hal_graphics_composer_server (process (signal)))
(allow dumpstate_28_0 hal_sensors_server (process (signal)))
(allow dumpstate_28_0 hal_vr_server (process (signal)))
(allow dumpstate_28_0 audioserver_28_0 (process (signal)))
(allow dumpstate_28_0 cameraserver_28_0 (process (signal)))
(allow dumpstate_28_0 drmserver_28_0 (process (signal)))
(allow dumpstate_28_0 inputflinger_28_0 (process (signal)))
(allow dumpstate_28_0 mediacodec_28_0 (process (signal)))
(allow dumpstate_28_0 mediadrmserver_28_0 (process (signal)))
(allow dumpstate_28_0 mediaextractor_28_0 (process (signal)))
(allow dumpstate_28_0 mediametrics_28_0 (process (signal)))
(allow dumpstate_28_0 mediaserver_28_0 (process (signal)))
(allow dumpstate_28_0 sdcardd_28_0 (process (signal)))
(allow dumpstate_28_0 surfaceflinger_28_0 (process (signal)))
(allow dumpstate_28_0 tombstoned_intercept_socket_28_0 (sock_file (write)))
(allow dumpstate_28_0 tombstoned_28_0 (unix_stream_socket (connectto)))
(allow dumpstate_28_0 sysfs_type (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 sysfs_dm_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 sysfs_usb_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 sysfs_zram_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 qtaguid_proc_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 debugfs_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 block_device_28_0 (dir (getattr search)))
(allow dumpstate_28_0 rootfs_28_0 (dir (getattr search)))
(allow dumpstate_28_0 selinuxfs_28_0 (dir (getattr search)))
(allow dumpstate_28_0 tmpfs_28_0 (dir (getattr search)))
(allow dumpstate_28_0 metadata_file_28_0 (dir (getattr search)))
(allow dumpstate_28_0 storage_file_28_0 (dir (getattr search)))
(allow dumpstate_28_0 cache_file_28_0 (dir (getattr search)))
(allow dumpstate_28_0 fuse_device_28_0 (chr_file (getattr)))
(allow dumpstate_28_0 dm_device_28_0 (blk_file (getattr)))
(allow dumpstate_28_0 cache_block_device_28_0 (blk_file (getattr)))
(allow dumpstate_28_0 rootfs_28_0 (lnk_file (read getattr)))
(allow dumpstate_28_0 cache_file_28_0 (lnk_file (read getattr)))
(allow dumpstate_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 binderservicedomain (binder (call transfer)))
(allow binderservicedomain dumpstate_28_0 (binder (transfer)))
(allow dumpstate_28_0 binderservicedomain (fd (use)))
(allow dumpstate_28_0 appdomain (binder (call transfer)))
(allow dumpstate_28_0 netd_28_0 (binder (call transfer)))
(allow dumpstate_28_0 wificond_28_0 (binder (call transfer)))
(allow appdomain dumpstate_28_0 (binder (transfer)))
(allow netd_28_0 dumpstate_28_0 (binder (transfer)))
(allow wificond_28_0 dumpstate_28_0 (binder (transfer)))
(allow dumpstate_28_0 appdomain (fd (use)))
(allow dumpstate_28_0 netd_28_0 (fd (use)))
(allow dumpstate_28_0 wificond_28_0 (fd (use)))
(allow dumpstate_28_0 self (capability (sys_ptrace)))
(allow dumpstate_28_0 self (cap_userns (sys_ptrace)))
(allow dumpstate_28_0 shell_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow dumpstate_28_0 shell_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow dumpstate_28_0 shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow dumpstate_28_0 zygote_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow dumpstate_28_0 ashmem_device_28_0 (chr_file (execute)))
(allow dumpstate_28_0 self (process (execmem)))
(allow dumpstate_28_0 dalvikcache_data_file_28_0 (dir (getattr search)))
(allow dumpstate_28_0 dalvikcache_data_file_28_0 (file (ioctl read getattr lock map execute open)))
(allow dumpstate_28_0 dalvikcache_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 bluetooth_data_file_28_0 (dir (search)))
(allow dumpstate_28_0 bluetooth_logs_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 bluetooth_logs_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 gpu_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow dumpstate_28_0 logcat_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow dumpstate_28_0 logdr_socket_28_0 (sock_file (write)))
(allow dumpstate_28_0 logd_28_0 (unix_stream_socket (connectto)))
(allow dumpstate_28_0 logd_socket_28_0 (sock_file (write)))
(allow dumpstate_28_0 logd_28_0 (unix_stream_socket (connectto)))
(allow dumpstate_28_0 runtime_event_log_tags_file_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_qtaguid_stat_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_buddyinfo_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_cmdline_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_meminfo_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_modules_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_pagetypeinfo_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_pipe_conf_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_version_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_vmallocinfo_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_vmstat_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 net_data_file_28_0 (dir (search)))
(allow dumpstate_28_0 net_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 self (netlink_tcpdiag_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown nlmsg_read)))
(allow dumpstate_28_0 tombstone_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 tombstone_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 cache_recovery_file_28_0 (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 cache_recovery_file_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 recovery_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 recovery_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 update_engine_log_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 update_engine_log_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 user_profile_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 user_profile_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 misc_logd_file_28_0 (dir (ioctl read getattr lock search open)))
(allow dumpstate_28_0 misc_logd_file_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 base_typeattr_170_28_0 (service_manager (find)))
(dontaudit dumpstate_28_0 dumpstate_service_28_0 (service_manager (find)))
(dontaudit dumpstate_28_0 gatekeeper_service_28_0 (service_manager (find)))
(dontaudit dumpstate_28_0 incident_service_28_0 (service_manager (find)))
(dontaudit dumpstate_28_0 virtual_touchpad_service_28_0 (service_manager (find)))
(dontaudit dumpstate_28_0 vold_service_28_0 (service_manager (find)))
(dontaudit dumpstate_28_0 vr_hwc_service_28_0 (service_manager (find)))
(allow dumpstate_28_0 servicemanager_28_0 (service_manager (list)))
(allow dumpstate_28_0 hwservicemanager_28_0 (hwservice_manager (list)))
(allow dumpstate_28_0 devpts_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow dumpstate_28_0 property_socket_28_0 (sock_file (write)))
(allow dumpstate_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow dumpstate_28_0 dumpstate_prop_28_0 (property_service (set)))
(allow dumpstate_28_0 dumpstate_prop_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 property_socket_28_0 (sock_file (write)))
(allow dumpstate_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow dumpstate_28_0 exported_dumpstate_prop_28_0 (property_service (set)))
(allow dumpstate_28_0 exported_dumpstate_prop_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 property_socket_28_0 (sock_file (write)))
(allow dumpstate_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow dumpstate_28_0 dumpstate_options_prop_28_0 (property_service (set)))
(allow dumpstate_28_0 dumpstate_options_prop_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 property_type (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 media_rw_data_file_28_0 (dir (getattr)))
(allow dumpstate_28_0 proc_interrupts_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_zoneinfo_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 dumpstate_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_171_28_0 dumpstate_service_28_0 (service_manager (add)))
(allow dumpstate_28_0 ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 proc_stat_28_0 (file (ioctl read getattr lock map open)))
(allow dumpstate_28_0 installd_28_0 (binder (call transfer)))
(allow installd_28_0 dumpstate_28_0 (binder (transfer)))
(allow dumpstate_28_0 installd_28_0 (fd (use)))
(allow dumpstate_28_0 self (netlink_xfrm_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown nlmsg_read)))
(allow dumpstate_28_0 self (netlink_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow dumpstate_28_0 self (netlink_generic_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow dumpstate_28_0 property_socket_28_0 (sock_file (write)))
(allow dumpstate_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow dumpstate_28_0 ctl_dumpstate_prop_28_0 (property_service (set)))
(allow dumpstate_28_0 ctl_dumpstate_prop_28_0 (file (ioctl read getattr lock map open)))
(neverallow dumpstate_28_0 base_typeattr_59_28_0 (process (ptrace)))
(neverallow base_typeattr_172_28_0 dumpstate_service_28_0 (service_manager (find)))
(allow e2fs_28_0 devpts_28_0 (chr_file (ioctl read write getattr)))
(allow e2fs_28_0 dev_type (blk_file (getattr)))
(allow e2fs_28_0 block_device_28_0 (dir (search)))
(allow e2fs_28_0 userdata_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow e2fs_28_0 metadata_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow e2fs_28_0 proc_filesystems_28_0 (file (ioctl read getattr lock map open)))
(allow e2fs_28_0 proc_mounts_28_0 (file (ioctl read getattr lock map open)))
(allow e2fs_28_0 proc_swaps_28_0 (file (ioctl read getattr lock map open)))
(allow e2fs_28_0 sysfs_fs_ext4_features_28_0 (dir (search)))
(allow e2fs_28_0 sysfs_fs_ext4_features_28_0 (file (ioctl read getattr lock map open)))
(allow e2fs_28_0 file_contexts_file_28_0 (file (read getattr open)))
(dontaudit su_28_0 pdx_display_client_endpoint_socket_28_0 (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)))
(dontaudit su_28_0 pdx_display_client_channel_socket_28_0 (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)))
(dontaudit su_28_0 pdx_display_manager_endpoint_socket_28_0 (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)))
(dontaudit su_28_0 pdx_display_manager_channel_socket_28_0 (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)))
(dontaudit su_28_0 pdx_display_screenshot_endpoint_socket_28_0 (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)))
(dontaudit su_28_0 pdx_display_screenshot_channel_socket_28_0 (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)))
(dontaudit su_28_0 pdx_display_vsync_endpoint_socket_28_0 (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)))
(dontaudit su_28_0 pdx_display_vsync_channel_socket_28_0 (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)))
(dontaudit su_28_0 pdx_performance_client_endpoint_socket_28_0 (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)))
(dontaudit su_28_0 pdx_performance_client_channel_socket_28_0 (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)))
(dontaudit su_28_0 pdx_bufferhub_client_endpoint_socket_28_0 (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)))
(dontaudit su_28_0 pdx_bufferhub_client_channel_socket_28_0 (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)))
(allow fs_type self (filesystem (associate)))
(allow cgroup_28_0 tmpfs_28_0 (filesystem (associate)))
(allow cgroup_bpf_28_0 tmpfs_28_0 (filesystem (associate)))
(allow sysfs_type sysfs_28_0 (filesystem (associate)))
(allow debugfs_type debugfs_28_0 (filesystem (associate)))
(allow debugfs_type debugfs_tracing_28_0 (filesystem (associate)))
(allow debugfs_type debugfs_tracing_debug_28_0 (filesystem (associate)))
(allow file_type labeledfs_28_0 (filesystem (associate)))
(allow file_type tmpfs_28_0 (filesystem (associate)))
(allow file_type rootfs_28_0 (filesystem (associate)))
(allow dev_type tmpfs_28_0 (filesystem (associate)))
(allow app_fuse_file_28_0 app_fusefs_28_0 (filesystem (associate)))
(allow postinstall_file_28_0 self (filesystem (associate)))
(neverallow fs_type file_type (filesystem (associate)))
(allow fingerprintd_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 fingerprintd_28_0 (dir (search)))
(allow servicemanager_28_0 fingerprintd_28_0 (file (read open)))
(allow servicemanager_28_0 fingerprintd_28_0 (process (getattr)))
(allow fingerprintd_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow fingerprintd_28_0 fingerprintd_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_173_28_0 fingerprintd_service_28_0 (service_manager (add)))
(allow fingerprintd_28_0 fingerprintd_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow fingerprintd_28_0 fingerprintd_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow keystore_28_0 fingerprintd_28_0 (dir (search)))
(allow keystore_28_0 fingerprintd_28_0 (file (read open)))
(allow keystore_28_0 fingerprintd_28_0 (process (getattr)))
(allow fingerprintd_28_0 keystore_service_28_0 (service_manager (find)))
(allow fingerprintd_28_0 keystore_28_0 (binder (call transfer)))
(allow keystore_28_0 fingerprintd_28_0 (binder (transfer)))
(allow fingerprintd_28_0 keystore_28_0 (fd (use)))
(allow keystore_28_0 fingerprintd_28_0 (binder (call transfer)))
(allow fingerprintd_28_0 keystore_28_0 (binder (transfer)))
(allow keystore_28_0 fingerprintd_28_0 (fd (use)))
(allow fingerprintd_28_0 keystore_28_0 (keystore_key (add_auth)))
(allow fingerprintd_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 fingerprintd_28_0 (binder (transfer)))
(allow fingerprintd_28_0 system_server_28_0 (fd (use)))
(allow fingerprintd_28_0 permission_service_28_0 (service_manager (find)))
(allow fingerprintd_28_0 ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow fsck_28_0 tmpfs_28_0 (chr_file (ioctl read write)))
(allow fsck_28_0 devpts_28_0 (chr_file (ioctl read write getattr)))
(allow fsck_28_0 vold_28_0 (fd (use)))
(allow fsck_28_0 vold_28_0 (fifo_file (read write getattr)))
(allow fsck_28_0 block_device_28_0 (dir (search)))
(allow fsck_28_0 userdata_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow fsck_28_0 cache_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow fsck_28_0 dm_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow fsck_28_0 dev_type (blk_file (getattr)))
(allow fsck_28_0 proc_mounts_28_0 (file (ioctl read getattr lock map open)))
(allow fsck_28_0 proc_swaps_28_0 (file (ioctl read getattr lock map open)))
(allow fsck_28_0 rootfs_28_0 (dir (ioctl read getattr lock search open)))
(neverallow fsck_28_0 vold_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_28_0 root_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_28_0 frp_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_28_0 system_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_28_0 recovery_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_28_0 boot_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_28_0 swap_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_174_28_0 fsck_28_0 (process (transition)))
(neverallow base_typeattr_59_28_0 fsck_28_0 (process (dyntransition)))
(neverallow fsck_28_0 base_typeattr_175_28_0 (file (entrypoint)))
(allow fsck_untrusted_28_0 devpts_28_0 (chr_file (ioctl read write getattr)))
(allow fsck_untrusted_28_0 vold_28_0 (fd (use)))
(allow fsck_untrusted_28_0 vold_28_0 (fifo_file (read write getattr)))
(allow fsck_untrusted_28_0 block_device_28_0 (dir (search)))
(allow fsck_untrusted_28_0 vold_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow fsck_untrusted_28_0 proc_mounts_28_0 (file (ioctl read getattr lock map open)))
(allow fsck_untrusted_28_0 dev_type (blk_file (getattr)))
(neverallow fsck_untrusted_28_0 dm_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_untrusted_28_0 root_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_untrusted_28_0 frp_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_untrusted_28_0 system_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_untrusted_28_0 recovery_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_untrusted_28_0 boot_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_untrusted_28_0 userdata_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_untrusted_28_0 cache_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_untrusted_28_0 swap_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow fsck_untrusted_28_0 metadata_block_device_28_0 (blk_file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_176_28_0 fsck_untrusted_28_0 (process (transition)))
(neverallow base_typeattr_59_28_0 fsck_untrusted_28_0 (process (dyntransition)))
(neverallow fsck_untrusted_28_0 base_typeattr_175_28_0 (file (entrypoint)))
(allow gatekeeperd_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 gatekeeperd_28_0 (dir (search)))
(allow servicemanager_28_0 gatekeeperd_28_0 (file (read open)))
(allow servicemanager_28_0 gatekeeperd_28_0 (process (getattr)))
(allow gatekeeperd_28_0 tee_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow gatekeeperd_28_0 ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow gatekeeperd_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow gatekeeperd_28_0 gatekeeper_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_177_28_0 gatekeeper_service_28_0 (service_manager (add)))
(allow keystore_28_0 gatekeeperd_28_0 (dir (search)))
(allow keystore_28_0 gatekeeperd_28_0 (file (read open)))
(allow keystore_28_0 gatekeeperd_28_0 (process (getattr)))
(allow gatekeeperd_28_0 keystore_service_28_0 (service_manager (find)))
(allow gatekeeperd_28_0 keystore_28_0 (binder (call transfer)))
(allow keystore_28_0 gatekeeperd_28_0 (binder (transfer)))
(allow gatekeeperd_28_0 keystore_28_0 (fd (use)))
(allow keystore_28_0 gatekeeperd_28_0 (binder (call transfer)))
(allow gatekeeperd_28_0 keystore_28_0 (binder (transfer)))
(allow keystore_28_0 gatekeeperd_28_0 (fd (use)))
(allow gatekeeperd_28_0 keystore_28_0 (keystore_key (add_auth)))
(allow gatekeeperd_28_0 system_server_28_0 (binder (call)))
(allow gatekeeperd_28_0 permission_service_28_0 (service_manager (find)))
(allow gatekeeperd_28_0 gatekeeper_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow gatekeeperd_28_0 gatekeeper_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow gatekeeperd_28_0 hardware_properties_service_28_0 (service_manager (find)))
(allow gatekeeperd_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow gatekeeperd_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow gatekeeperd_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_allocator_client hal_allocator_server (binder (call transfer)))
(allow hal_allocator_server hal_allocator_client (binder (transfer)))
(allow hal_allocator_client hal_allocator_server (fd (use)))
(allow hal_allocator_server hidl_allocator_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_allocator_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_178_28_0 hidl_allocator_hwservice_28_0 (hwservice_manager (add)))
(allow hal_allocator_client hidl_allocator_hwservice_28_0 (hwservice_manager (find)))
(allow hal_allocator_client hidl_memory_hwservice_28_0 (hwservice_manager (find)))
(allow hal_audio_client hal_audio_server (binder (call transfer)))
(allow hal_audio_server hal_audio_client (binder (transfer)))
(allow hal_audio_client hal_audio_server (fd (use)))
(allow hal_audio_server hal_audio_client (binder (call transfer)))
(allow hal_audio_client hal_audio_server (binder (transfer)))
(allow hal_audio_server hal_audio_client (fd (use)))
(allow hal_audio_server hal_audio_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_audio_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_179_28_0 hal_audio_hwservice_28_0 (hwservice_manager (add)))
(allow hal_audio_client hal_audio_hwservice_28_0 (hwservice_manager (find)))
(allow hal_audio ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow hal_audio proc_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_audio proc_28_0 (file (ioctl read getattr lock map open)))
(allow hal_audio proc_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_audio proc_asound_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_audio proc_asound_28_0 (file (ioctl read getattr lock map open)))
(allow hal_audio proc_asound_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_audio_server audio_device_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_audio_server audio_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_audio shell_28_0 (fd (use)))
(allow hal_audio shell_28_0 (fifo_file (write)))
(allow hal_audio dumpstate_28_0 (fd (use)))
(allow hal_audio dumpstate_28_0 (fifo_file (write)))
(allow hal_audio vndbinder_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_audio vndservicemanager_28_0 (binder (call transfer)))
(allow vndservicemanager_28_0 hal_audio (dir (search)))
(allow vndservicemanager_28_0 hal_audio (file (read open)))
(allow vndservicemanager_28_0 hal_audio (process (getattr)))
(neverallow hal_audio_server fs_type (file (execute_no_trans)))
(neverallow hal_audio_server file_type (file (execute_no_trans)))
(neverallow hal_audio_server domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
(neverallow hal_audio_server domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(neverallow hal_audio_server domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(neverallow base_typeattr_180_28_0 audio_device_28_0 (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(allow hal_audio bluetooth_a2dp_offload_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_audiocontrol_client hal_audiocontrol_server (binder (call transfer)))
(allow hal_audiocontrol_server hal_audiocontrol_client (binder (transfer)))
(allow hal_audiocontrol_client hal_audiocontrol_server (fd (use)))
(allow hal_audiocontrol_server hal_audiocontrol_client (binder (call transfer)))
(allow hal_audiocontrol_client hal_audiocontrol_server (binder (transfer)))
(allow hal_audiocontrol_server hal_audiocontrol_client (fd (use)))
(allow hal_audiocontrol_server hal_audiocontrol_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_audiocontrol_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_181_28_0 hal_audiocontrol_hwservice_28_0 (hwservice_manager (add)))
(allow hal_audiocontrol_client hal_audiocontrol_hwservice_28_0 (hwservice_manager (find)))
(allow hal_authsecret_client hal_authsecret_server (binder (call transfer)))
(allow hal_authsecret_server hal_authsecret_client (binder (transfer)))
(allow hal_authsecret_client hal_authsecret_server (fd (use)))
(allow hal_authsecret_server hal_authsecret_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_authsecret_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_182_28_0 hal_authsecret_hwservice_28_0 (hwservice_manager (add)))
(allow hal_authsecret_client hal_authsecret_hwservice_28_0 (hwservice_manager (find)))
(allow hal_bluetooth_client hal_bluetooth_server (binder (call transfer)))
(allow hal_bluetooth_server hal_bluetooth_client (binder (transfer)))
(allow hal_bluetooth_client hal_bluetooth_server (fd (use)))
(allow hal_bluetooth_server hal_bluetooth_client (binder (call transfer)))
(allow hal_bluetooth_client hal_bluetooth_server (binder (transfer)))
(allow hal_bluetooth_server hal_bluetooth_client (fd (use)))
(allow hal_bluetooth_server hal_bluetooth_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_bluetooth_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_183_28_0 hal_bluetooth_hwservice_28_0 (hwservice_manager (add)))
(allow hal_bluetooth_client hal_bluetooth_hwservice_28_0 (hwservice_manager (find)))
(allow hal_bluetooth sysfs_wake_lock_28_0 (file (ioctl read write getattr lock append map open)))
(allow hal_bluetooth self (capability2 (block_suspend)))
(allow hal_bluetooth self (cap2_userns (block_suspend)))
(allow hal_bluetooth self (capability (net_admin)))
(allow hal_bluetooth self (cap_userns (net_admin)))
(allow hal_bluetooth bluetooth_efs_file_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_bluetooth bluetooth_efs_file_28_0 (file (ioctl read getattr lock map open)))
(allow hal_bluetooth bluetooth_efs_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_bluetooth uhid_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_bluetooth hci_attach_dev_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_bluetooth sysfs_type (dir (ioctl read getattr lock search open)))
(allow hal_bluetooth sysfs_type (file (ioctl read getattr lock map open)))
(allow hal_bluetooth sysfs_type (lnk_file (ioctl read getattr lock map open)))
(allow hal_bluetooth sysfs_bluetooth_writable_28_0 (file (ioctl read write getattr lock append map open)))
(allow hal_bluetooth self (capability2 (wake_alarm)))
(allow hal_bluetooth self (cap2_userns (wake_alarm)))
(allow hal_bluetooth property_socket_28_0 (sock_file (write)))
(allow hal_bluetooth init_28_0 (unix_stream_socket (connectto)))
(allow hal_bluetooth bluetooth_a2dp_offload_prop_28_0 (property_service (set)))
(allow hal_bluetooth bluetooth_a2dp_offload_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_bluetooth property_socket_28_0 (sock_file (write)))
(allow hal_bluetooth init_28_0 (unix_stream_socket (connectto)))
(allow hal_bluetooth bluetooth_prop_28_0 (property_service (set)))
(allow hal_bluetooth bluetooth_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_bluetooth property_socket_28_0 (sock_file (write)))
(allow hal_bluetooth init_28_0 (unix_stream_socket (connectto)))
(allow hal_bluetooth exported_bluetooth_prop_28_0 (property_service (set)))
(allow hal_bluetooth exported_bluetooth_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_bluetooth proc_bluetooth_writable_28_0 (file (ioctl read write getattr lock append map open)))
(allow hal_bluetooth self (capability (sys_nice)))
(allow hal_bluetooth self (cap_userns (sys_nice)))
(allow hal_bootctl_client hal_bootctl_server (binder (call transfer)))
(allow hal_bootctl_server hal_bootctl_client (binder (transfer)))
(allow hal_bootctl_client hal_bootctl_server (fd (use)))
(allow hal_bootctl_server hal_bootctl_client (binder (call transfer)))
(allow hal_bootctl_client hal_bootctl_server (binder (transfer)))
(allow hal_bootctl_server hal_bootctl_client (fd (use)))
(allow hal_bootctl_server hal_bootctl_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_bootctl_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_184_28_0 hal_bootctl_hwservice_28_0 (hwservice_manager (add)))
(allow hal_bootctl_client hal_bootctl_hwservice_28_0 (hwservice_manager (find)))
(dontaudit hal_bootctl self (capability (sys_rawio)))
(allow hal_broadcastradio_client hal_broadcastradio_server (binder (call transfer)))
(allow hal_broadcastradio_server hal_broadcastradio_client (binder (transfer)))
(allow hal_broadcastradio_client hal_broadcastradio_server (fd (use)))
(allow hal_broadcastradio_server hal_broadcastradio_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_broadcastradio_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_185_28_0 hal_broadcastradio_hwservice_28_0 (hwservice_manager (add)))
(allow hal_broadcastradio_client hal_broadcastradio_hwservice_28_0 (hwservice_manager (find)))
(allow hal_camera_client hal_camera_server (binder (call transfer)))
(allow hal_camera_server hal_camera_client (binder (transfer)))
(allow hal_camera_client hal_camera_server (fd (use)))
(allow hal_camera_server hal_camera_client (binder (call transfer)))
(allow hal_camera_client hal_camera_server (binder (transfer)))
(allow hal_camera_server hal_camera_client (fd (use)))
(allow hal_camera_server hal_camera_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_camera_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_186_28_0 hal_camera_hwservice_28_0 (hwservice_manager (add)))
(allow hal_camera_client hal_camera_hwservice_28_0 (hwservice_manager (find)))
(allow hal_camera device_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_camera video_device_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_camera video_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_camera camera_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_camera ion_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_camera_client hal_graphics_allocator (fd (use)))
(allow hal_camera_server hal_graphics_allocator (fd (use)))
(allow hal_camera base_typeattr_43_28_0 (fd (use)))
(allow hal_camera surfaceflinger_28_0 (fd (use)))
(allow hal_camera hal_allocator_server (fd (use)))
(neverallow hal_camera_server fs_type (file (execute_no_trans)))
(neverallow hal_camera_server file_type (file (execute_no_trans)))
(neverallow hal_camera_server domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
(neverallow hal_camera_server domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(neverallow hal_camera_server domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(neverallow base_typeattr_187_28_0 camera_device_28_0 (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(allow hal_cas_client hal_cas_server (binder (call transfer)))
(allow hal_cas_server hal_cas_client (binder (transfer)))
(allow hal_cas_client hal_cas_server (fd (use)))
(allow hal_cas_server hal_cas_client (binder (call transfer)))
(allow hal_cas_client hal_cas_server (binder (transfer)))
(allow hal_cas_server hal_cas_client (fd (use)))
(allow hal_cas_server hal_cas_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_cas_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_188_28_0 hal_cas_hwservice_28_0 (hwservice_manager (add)))
(allow hal_cas_client hal_cas_hwservice_28_0 (hwservice_manager (find)))
(allow hal_cas_server hidl_memory_hwservice_28_0 (hwservice_manager (find)))
(allow hal_cas_server serialno_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_cas system_data_file_28_0 (file (read getattr)))
(allow hal_cas cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_cas cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow hal_cas cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_cas cgroup_28_0 (dir (write search)))
(allow hal_cas cgroup_28_0 (file (write lock append map open)))
(allow hal_cas ion_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_cas hal_graphics_allocator (fd (use)))
(allow hal_cas tee_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(neverallow hal_cas_server fs_type (file (execute_no_trans)))
(neverallow hal_cas_server file_type (file (execute_no_trans)))
(neverallowx hal_cas_server domain (ioctl tcp_socket (0x6900 0x6902)))
(neverallowx hal_cas_server domain (ioctl udp_socket (0x6900 0x6902)))
(neverallowx hal_cas_server domain (ioctl rawip_socket (0x6900 0x6902)))
(neverallowx hal_cas_server domain (ioctl tcp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx hal_cas_server domain (ioctl udp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx hal_cas_server domain (ioctl rawip_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx hal_cas_server domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(neverallowx hal_cas_server domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(neverallowx hal_cas_server domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(allow hal_configstore_client hal_configstore_server (binder (call transfer)))
(allow hal_configstore_server hal_configstore_client (binder (transfer)))
(allow hal_configstore_client hal_configstore_server (fd (use)))
(allow hal_configstore_client hal_configstore_ISurfaceFlingerConfigs_28_0 (hwservice_manager (find)))
(allow hal_configstore_server hal_configstore_ISurfaceFlingerConfigs_28_0 (hwservice_manager (add find)))
(allow hal_configstore_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_189_28_0 hal_configstore_ISurfaceFlingerConfigs_28_0 (hwservice_manager (add)))
(allow hal_configstore_server su_28_0 (fifo_file (append)))
(allow hal_configstore_server anr_data_file_28_0 (file (append)))
(allow hal_configstore_server dumpstate_28_0 (fd (use)))
(allow hal_configstore_server incidentd_28_0 (fd (use)))
(allow hal_configstore_server dumpstate_28_0 (fifo_file (write append)))
(allow hal_configstore_server incidentd_28_0 (fifo_file (write append)))
(allow hal_configstore_server system_server_28_0 (fifo_file (write append)))
(allow hal_configstore_server tombstoned_28_0 (unix_stream_socket (connectto)))
(allow hal_configstore_server tombstoned_28_0 (fd (use)))
(allow hal_configstore_server tombstoned_crash_socket_28_0 (sock_file (write)))
(allow hal_configstore_server tombstone_data_file_28_0 (file (append)))
(neverallow hal_configstore_server fs_type (file (execute_no_trans)))
(neverallow hal_configstore_server file_type (file (execute_no_trans)))
(neverallow hal_configstore_server domain (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (tcp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind name_connect)))
(neverallow hal_configstore_server domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(neverallow hal_configstore_server domain (rawip_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(neverallow hal_configstore_server domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (netlink_route_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
(neverallow hal_configstore_server domain (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
(neverallow hal_configstore_server domain (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
(neverallow hal_configstore_server domain (netlink_selinux_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
(neverallow hal_configstore_server domain (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (netlink_kobject_uevent_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
(neverallow hal_configstore_server domain (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server domain (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(neverallow hal_configstore_server base_typeattr_190_28_0 (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_190_28_0 (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_191_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow hal_configstore_server base_typeattr_191_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow hal_configstore_server base_typeattr_191_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow hal_configstore_server sdcard_type (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow hal_configstore_server fuse_28_0 (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow hal_configstore_server sdcardfs_28_0 (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow hal_configstore_server vfat_28_0 (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow hal_configstore_server exfat_28_0 (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow hal_configstore_server sdcard_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow hal_configstore_server fuse_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow hal_configstore_server sdcardfs_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow hal_configstore_server vfat_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow hal_configstore_server exfat_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow hal_configstore_server base_typeattr_59_28_0 (service_manager (add find list)))
(neverallow hal_configstore_server self (capability (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
(neverallow hal_configstore_server self (capability2 (mac_override mac_admin syslog wake_alarm block_suspend audit_read)))
(neverallow hal_configstore_server self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
(neverallow hal_configstore_server self (cap2_userns (mac_override mac_admin syslog wake_alarm block_suspend audit_read)))
(neverallow hal_configstore_server base_typeattr_59_28_0 (process (ptrace)))
(neverallow hal_configstore_server base_typeattr_59_28_0 (file (relabelfrom relabelto)))
(neverallow hal_configstore_server base_typeattr_59_28_0 (dir (relabelfrom relabelto)))
(neverallow hal_configstore_server base_typeattr_59_28_0 (lnk_file (relabelfrom relabelto)))
(neverallow hal_configstore_server base_typeattr_59_28_0 (chr_file (relabelfrom relabelto)))
(neverallow hal_configstore_server base_typeattr_59_28_0 (blk_file (relabelfrom relabelto)))
(neverallow hal_configstore_server base_typeattr_59_28_0 (sock_file (relabelfrom relabelto)))
(neverallow hal_configstore_server base_typeattr_59_28_0 (fifo_file (relabelfrom relabelto)))
(allow hal_confirmationui_client hal_confirmationui_server (binder (call transfer)))
(allow hal_confirmationui_server hal_confirmationui_client (binder (transfer)))
(allow hal_confirmationui_client hal_confirmationui_server (fd (use)))
(allow hal_confirmationui_server hal_confirmationui_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_confirmationui_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_192_28_0 hal_confirmationui_hwservice_28_0 (hwservice_manager (add)))
(allow hal_confirmationui_client hal_confirmationui_hwservice_28_0 (hwservice_manager (find)))
(allow hal_contexthub_client hal_contexthub_server (binder (call transfer)))
(allow hal_contexthub_server hal_contexthub_client (binder (transfer)))
(allow hal_contexthub_client hal_contexthub_server (fd (use)))
(allow hal_contexthub_server hal_contexthub_client (binder (call transfer)))
(allow hal_contexthub_client hal_contexthub_server (binder (transfer)))
(allow hal_contexthub_server hal_contexthub_client (fd (use)))
(allow hal_contexthub_server hal_contexthub_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_contexthub_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_193_28_0 hal_contexthub_hwservice_28_0 (hwservice_manager (add)))
(allow hal_contexthub_client hal_contexthub_hwservice_28_0 (hwservice_manager (find)))
(allow hal_drm_client hal_drm_server (binder (call transfer)))
(allow hal_drm_server hal_drm_client (binder (transfer)))
(allow hal_drm_client hal_drm_server (fd (use)))
(allow hal_drm_server hal_drm_client (binder (call transfer)))
(allow hal_drm_client hal_drm_server (binder (transfer)))
(allow hal_drm_server hal_drm_client (fd (use)))
(allow hal_drm_server hal_drm_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_drm_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_194_28_0 hal_drm_hwservice_28_0 (hwservice_manager (add)))
(allow hal_drm_client hal_drm_hwservice_28_0 (hwservice_manager (find)))
(allow hal_drm hidl_memory_hwservice_28_0 (hwservice_manager (find)))
(allow hal_drm self (process (execmem)))
(allow hal_drm serialno_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_drm system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_drm system_file_28_0 (file (ioctl read getattr lock map open)))
(allow hal_drm system_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_drm system_data_file_28_0 (file (read getattr)))
(allow hal_drm cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_drm cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow hal_drm cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_drm cgroup_28_0 (dir (write search)))
(allow hal_drm cgroup_28_0 (file (write lock append map open)))
(allow hal_drm ion_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_drm hal_graphics_allocator (fd (use)))
(allow hal_drm mediaserver_28_0 (fd (use)))
(allow hal_drm sysfs_28_0 (file (ioctl read getattr lock map open)))
(allow hal_drm tee_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allowx hal_drm self (ioctl tcp_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx hal_drm self (ioctl udp_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx hal_drm self (ioctl rawip_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx hal_drm self (ioctl tcp_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx hal_drm self (ioctl udp_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx hal_drm self (ioctl rawip_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx hal_drm self (ioctl tcp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(allowx hal_drm self (ioctl udp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(allowx hal_drm self (ioctl rawip_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(neverallow hal_drm_server fs_type (file (execute_no_trans)))
(neverallow hal_drm_server file_type (file (execute_no_trans)))
(neverallowx hal_drm_server domain (ioctl tcp_socket (0x6900 0x6902)))
(neverallowx hal_drm_server domain (ioctl udp_socket (0x6900 0x6902)))
(neverallowx hal_drm_server domain (ioctl rawip_socket (0x6900 0x6902)))
(neverallowx hal_drm_server domain (ioctl tcp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx hal_drm_server domain (ioctl udp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx hal_drm_server domain (ioctl rawip_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx hal_drm_server domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(neverallowx hal_drm_server domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(neverallowx hal_drm_server domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(allow hal_dumpstate_client hal_dumpstate_server (binder (call transfer)))
(allow hal_dumpstate_server hal_dumpstate_client (binder (transfer)))
(allow hal_dumpstate_client hal_dumpstate_server (fd (use)))
(allow hal_dumpstate_server hal_dumpstate_client (binder (call transfer)))
(allow hal_dumpstate_client hal_dumpstate_server (binder (transfer)))
(allow hal_dumpstate_server hal_dumpstate_client (fd (use)))
(allow hal_dumpstate_server hal_dumpstate_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_dumpstate_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_195_28_0 hal_dumpstate_hwservice_28_0 (hwservice_manager (add)))
(allow hal_dumpstate_client hal_dumpstate_hwservice_28_0 (hwservice_manager (find)))
(allow hal_dumpstate shell_data_file_28_0 (file (write)))
(allow hal_dumpstate proc_interrupts_28_0 (file (ioctl read getattr lock map open)))
(allow hal_evs_client hwservicemanager_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 hal_evs_client (binder (call transfer)))
(allow hwservicemanager_28_0 hal_evs_client (dir (search)))
(allow hwservicemanager_28_0 hal_evs_client (file (read open)))
(allow hwservicemanager_28_0 hal_evs_client (process (getattr)))
(allow hal_evs_server hwservicemanager_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 hal_evs_server (binder (call transfer)))
(allow hwservicemanager_28_0 hal_evs_server (dir (search)))
(allow hwservicemanager_28_0 hal_evs_server (file (read open)))
(allow hwservicemanager_28_0 hal_evs_server (process (getattr)))
(allow hal_evs_client hal_evs_server (binder (call transfer)))
(allow hal_evs_server hal_evs_client (binder (transfer)))
(allow hal_evs_client hal_evs_server (fd (use)))
(allow hal_evs_server hal_evs_client (binder (call transfer)))
(allow hal_evs_client hal_evs_server (binder (transfer)))
(allow hal_evs_server hal_evs_client (fd (use)))
(allow hal_fingerprint_client hal_fingerprint_server (binder (call transfer)))
(allow hal_fingerprint_server hal_fingerprint_client (binder (transfer)))
(allow hal_fingerprint_client hal_fingerprint_server (fd (use)))
(allow hal_fingerprint_server hal_fingerprint_client (binder (call transfer)))
(allow hal_fingerprint_client hal_fingerprint_server (binder (transfer)))
(allow hal_fingerprint_server hal_fingerprint_client (fd (use)))
(allow hal_fingerprint_server hal_fingerprint_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_fingerprint_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_196_28_0 hal_fingerprint_hwservice_28_0 (hwservice_manager (add)))
(allow hal_fingerprint_client hal_fingerprint_hwservice_28_0 (hwservice_manager (find)))
(allow hal_fingerprint ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow hal_fingerprint fingerprint_vendor_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow hal_fingerprint fingerprint_vendor_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow hal_fingerprint cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_fingerprint cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow hal_fingerprint cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_fingerprint sysfs_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_fingerprint sysfs_28_0 (file (ioctl read getattr lock map open)))
(allow hal_fingerprint sysfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_gatekeeper_client hal_gatekeeper_server (binder (call transfer)))
(allow hal_gatekeeper_server hal_gatekeeper_client (binder (transfer)))
(allow hal_gatekeeper_client hal_gatekeeper_server (fd (use)))
(allow hal_gatekeeper_server hal_gatekeeper_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_gatekeeper_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_197_28_0 hal_gatekeeper_hwservice_28_0 (hwservice_manager (add)))
(allow hal_gatekeeper_client hal_gatekeeper_hwservice_28_0 (hwservice_manager (find)))
(allow hal_gatekeeper tee_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_gatekeeper ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow hal_gnss_client hal_gnss_server (binder (call transfer)))
(allow hal_gnss_server hal_gnss_client (binder (transfer)))
(allow hal_gnss_client hal_gnss_server (fd (use)))
(allow hal_gnss_server hal_gnss_client (binder (call transfer)))
(allow hal_gnss_client hal_gnss_server (binder (transfer)))
(allow hal_gnss_server hal_gnss_client (fd (use)))
(allow hal_gnss_server hal_gnss_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_gnss_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_198_28_0 hal_gnss_hwservice_28_0 (hwservice_manager (add)))
(allow hal_gnss_client hal_gnss_hwservice_28_0 (hwservice_manager (find)))
(allow hal_graphics_allocator_client hal_graphics_allocator_server (binder (call transfer)))
(allow hal_graphics_allocator_server hal_graphics_allocator_client (binder (transfer)))
(allow hal_graphics_allocator_client hal_graphics_allocator_server (fd (use)))
(allow hal_graphics_allocator_server hal_graphics_allocator_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_graphics_allocator_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_199_28_0 hal_graphics_allocator_hwservice_28_0 (hwservice_manager (add)))
(allow hal_graphics_allocator_client hal_graphics_allocator_hwservice_28_0 (hwservice_manager (find)))
(allow hal_graphics_allocator_client hal_graphics_mapper_hwservice_28_0 (hwservice_manager (find)))
(allow hal_graphics_allocator gpu_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_graphics_allocator ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow hal_graphics_allocator self (capability (sys_nice)))
(allow hal_graphics_allocator self (cap_userns (sys_nice)))
(allow hal_graphics_composer_client hal_graphics_composer_server (binder (call transfer)))
(allow hal_graphics_composer_server hal_graphics_composer_client (binder (transfer)))
(allow hal_graphics_composer_client hal_graphics_composer_server (fd (use)))
(allow hal_graphics_composer_server hal_graphics_composer_client (binder (call transfer)))
(allow hal_graphics_composer_client hal_graphics_composer_server (binder (transfer)))
(allow hal_graphics_composer_server hal_graphics_composer_client (fd (use)))
(allow hal_graphics_composer_server hal_graphics_composer_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_graphics_composer_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_200_28_0 hal_graphics_composer_hwservice_28_0 (hwservice_manager (add)))
(allow hal_graphics_composer_client hal_graphics_composer_hwservice_28_0 (hwservice_manager (find)))
(allow hal_graphics_composer_server hal_graphics_mapper_hwservice_28_0 (hwservice_manager (find)))
(allow hal_graphics_composer gpu_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_graphics_composer ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow hal_graphics_composer hal_graphics_allocator (fd (use)))
(allow hal_graphics_composer graphics_device_28_0 (dir (search)))
(allow hal_graphics_composer graphics_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_graphics_composer system_server_28_0 (fd (use)))
(allow hal_graphics_composer bootanim_28_0 (fd (use)))
(allow hal_graphics_composer appdomain (fd (use)))
(allow hal_graphics_composer self (capability (sys_nice)))
(allow hal_graphics_composer self (cap_userns (sys_nice)))
(allow hal_health_client hal_health_server (binder (call transfer)))
(allow hal_health_server hal_health_client (binder (transfer)))
(allow hal_health_client hal_health_server (fd (use)))
(allow hal_health_server hal_health_client (binder (call transfer)))
(allow hal_health_client hal_health_server (binder (transfer)))
(allow hal_health_server hal_health_client (fd (use)))
(allow hal_health_server hal_health_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_health_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_201_28_0 hal_health_hwservice_28_0 (hwservice_manager (add)))
(allow hal_health_client hal_health_hwservice_28_0 (hwservice_manager (find)))
(allow hal_health system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_health system_file_28_0 (file (ioctl read getattr lock map open)))
(allow hal_health system_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_health_server self (netlink_kobject_uevent_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_health_server sysfs_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_health_server sysfs_batteryinfo_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_health_server sysfs_batteryinfo_28_0 (file (ioctl read getattr lock map open)))
(allow hal_health_server sysfs_batteryinfo_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_health_server sysfs_wake_lock_28_0 (file (ioctl read write getattr lock append map open)))
(allow hal_health_server self (capability2 (block_suspend)))
(allow hal_health_server self (cap2_userns (block_suspend)))
(allow hal_health_server kmsg_device_28_0 (chr_file (write lock append map open)))
(allow hal_ir_client hal_ir_server (binder (call transfer)))
(allow hal_ir_server hal_ir_client (binder (transfer)))
(allow hal_ir_client hal_ir_server (fd (use)))
(allow hal_ir_server hal_ir_client (binder (call transfer)))
(allow hal_ir_client hal_ir_server (binder (transfer)))
(allow hal_ir_server hal_ir_client (fd (use)))
(allow hal_ir_server hal_ir_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_ir_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_202_28_0 hal_ir_hwservice_28_0 (hwservice_manager (add)))
(allow hal_ir_client hal_ir_hwservice_28_0 (hwservice_manager (find)))
(allow hal_keymaster_client hal_keymaster_server (binder (call transfer)))
(allow hal_keymaster_server hal_keymaster_client (binder (transfer)))
(allow hal_keymaster_client hal_keymaster_server (fd (use)))
(allow hal_keymaster_server hal_keymaster_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_keymaster_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_203_28_0 hal_keymaster_hwservice_28_0 (hwservice_manager (add)))
(allow hal_keymaster_client hal_keymaster_hwservice_28_0 (hwservice_manager (find)))
(allow hal_keymaster tee_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_keymaster ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow hal_light_client hal_light_server (binder (call transfer)))
(allow hal_light_server hal_light_client (binder (transfer)))
(allow hal_light_client hal_light_server (fd (use)))
(allow hal_light_server hal_light_client (binder (call transfer)))
(allow hal_light_client hal_light_server (binder (transfer)))
(allow hal_light_server hal_light_client (fd (use)))
(allow hal_light_server hal_light_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_light_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_204_28_0 hal_light_hwservice_28_0 (hwservice_manager (add)))
(allow hal_light_client hal_light_hwservice_28_0 (hwservice_manager (find)))
(allow hal_light sysfs_leds_28_0 (lnk_file (read)))
(allow hal_light sysfs_leds_28_0 (file (ioctl read write getattr lock append map open)))
(allow hal_light sysfs_leds_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_lowpan_client hal_lowpan_server (binder (call transfer)))
(allow hal_lowpan_server hal_lowpan_client (binder (transfer)))
(allow hal_lowpan_client hal_lowpan_server (fd (use)))
(allow hal_lowpan_server hal_lowpan_client (binder (call transfer)))
(allow hal_lowpan_client hal_lowpan_server (binder (transfer)))
(allow hal_lowpan_server hal_lowpan_client (fd (use)))
(allow hal_lowpan_server hal_lowpan_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_lowpan_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_205_28_0 hal_lowpan_hwservice_28_0 (hwservice_manager (add)))
(allow hal_lowpan_client hal_lowpan_hwservice_28_0 (hwservice_manager (find)))
(allow hal_lowpan_server property_socket_28_0 (sock_file (write)))
(allow hal_lowpan_server init_28_0 (unix_stream_socket (connectto)))
(allow hal_lowpan_server lowpan_prop_28_0 (property_service (set)))
(allow hal_lowpan_server lowpan_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_lowpan_server lowpan_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(neverallow base_typeattr_206_28_0 lowpan_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(allow hal_memtrack_client hal_memtrack_server (binder (call transfer)))
(allow hal_memtrack_server hal_memtrack_client (binder (transfer)))
(allow hal_memtrack_client hal_memtrack_server (fd (use)))
(allow hal_memtrack_server hal_memtrack_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_memtrack_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_207_28_0 hal_memtrack_hwservice_28_0 (hwservice_manager (add)))
(allow hal_memtrack_client hal_memtrack_hwservice_28_0 (hwservice_manager (find)))
(allow hal_neuralnetworks_client hal_neuralnetworks_server (binder (call transfer)))
(allow hal_neuralnetworks_server hal_neuralnetworks_client (binder (transfer)))
(allow hal_neuralnetworks_client hal_neuralnetworks_server (fd (use)))
(allow hal_neuralnetworks_server hal_neuralnetworks_client (binder (call transfer)))
(allow hal_neuralnetworks_client hal_neuralnetworks_server (binder (transfer)))
(allow hal_neuralnetworks_server hal_neuralnetworks_client (fd (use)))
(allow hal_neuralnetworks_server hal_neuralnetworks_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_neuralnetworks_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_208_28_0 hal_neuralnetworks_hwservice_28_0 (hwservice_manager (add)))
(allow hal_neuralnetworks_client hal_neuralnetworks_hwservice_28_0 (hwservice_manager (find)))
(allow hal_neuralnetworks hidl_memory_hwservice_28_0 (hwservice_manager (find)))
(allow hal_neuralnetworks hal_allocator (fd (use)))
(neverallow base_typeattr_209_28_0 self (capability (net_admin net_raw)))
(neverallow base_typeattr_209_28_0 self (cap_userns (net_admin net_raw)))
(neverallow base_typeattr_210_28_0 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_210_28_0 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_210_28_0 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_211_28_0 fs_type (file (execute_no_trans)))
(neverallow base_typeattr_211_28_0 file_type (file (execute_no_trans)))
(neverallow base_typeattr_69_28_0 halserverdomain (process (transition)))
(neverallow base_typeattr_59_28_0 halserverdomain (process (dyntransition)))
(allow hal_nfc_client hal_nfc_server (binder (call transfer)))
(allow hal_nfc_server hal_nfc_client (binder (transfer)))
(allow hal_nfc_client hal_nfc_server (fd (use)))
(allow hal_nfc_server hal_nfc_client (binder (call transfer)))
(allow hal_nfc_client hal_nfc_server (binder (transfer)))
(allow hal_nfc_server hal_nfc_client (fd (use)))
(allow hal_nfc_server hal_nfc_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_nfc_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_212_28_0 hal_nfc_hwservice_28_0 (hwservice_manager (add)))
(allow hal_nfc_client hal_nfc_hwservice_28_0 (hwservice_manager (find)))
(allow hal_nfc property_socket_28_0 (sock_file (write)))
(allow hal_nfc init_28_0 (unix_stream_socket (connectto)))
(allow hal_nfc nfc_prop_28_0 (property_service (set)))
(allow hal_nfc nfc_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_nfc nfc_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_oemlock_client hal_oemlock_server (binder (call transfer)))
(allow hal_oemlock_server hal_oemlock_client (binder (transfer)))
(allow hal_oemlock_client hal_oemlock_server (fd (use)))
(allow hal_oemlock_server hal_oemlock_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_oemlock_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_213_28_0 hal_oemlock_hwservice_28_0 (hwservice_manager (add)))
(allow hal_oemlock_client hal_oemlock_hwservice_28_0 (hwservice_manager (find)))
(allow hal_power_client hal_power_server (binder (call transfer)))
(allow hal_power_server hal_power_client (binder (transfer)))
(allow hal_power_client hal_power_server (fd (use)))
(allow hal_power_server hal_power_client (binder (call transfer)))
(allow hal_power_client hal_power_server (binder (transfer)))
(allow hal_power_server hal_power_client (fd (use)))
(allow hal_power_server hal_power_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_power_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_214_28_0 hal_power_hwservice_28_0 (hwservice_manager (add)))
(allow hal_power_client hal_power_hwservice_28_0 (hwservice_manager (find)))
(allow hal_secure_element_client hal_secure_element_server (binder (call transfer)))
(allow hal_secure_element_server hal_secure_element_client (binder (transfer)))
(allow hal_secure_element_client hal_secure_element_server (fd (use)))
(allow hal_secure_element_server hal_secure_element_client (binder (call transfer)))
(allow hal_secure_element_client hal_secure_element_server (binder (transfer)))
(allow hal_secure_element_server hal_secure_element_client (fd (use)))
(allow hal_secure_element_server hal_secure_element_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_secure_element_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_215_28_0 hal_secure_element_hwservice_28_0 (hwservice_manager (add)))
(allow hal_secure_element_client hal_secure_element_hwservice_28_0 (hwservice_manager (find)))
(allow hal_sensors_client hal_sensors_server (binder (call transfer)))
(allow hal_sensors_server hal_sensors_client (binder (transfer)))
(allow hal_sensors_client hal_sensors_server (fd (use)))
(allow hal_sensors_server hal_sensors_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_sensors_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_216_28_0 hal_sensors_hwservice_28_0 (hwservice_manager (add)))
(allow hal_sensors_client hal_sensors_hwservice_28_0 (hwservice_manager (find)))
(allow hal_sensors base_typeattr_43_28_0 (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_telephony_client hal_telephony_server (binder (call transfer)))
(allow hal_telephony_server hal_telephony_client (binder (transfer)))
(allow hal_telephony_client hal_telephony_server (fd (use)))
(allow hal_telephony_server hal_telephony_client (binder (call transfer)))
(allow hal_telephony_client hal_telephony_server (binder (transfer)))
(allow hal_telephony_server hal_telephony_client (fd (use)))
(allow hal_telephony_server hal_telephony_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_telephony_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_217_28_0 hal_telephony_hwservice_28_0 (hwservice_manager (add)))
(allow hal_telephony_client hal_telephony_hwservice_28_0 (hwservice_manager (find)))
(allowx hal_telephony_server self (ioctl udp_socket (0x6900 0x6902)))
(allowx hal_telephony_server self (ioctl udp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(allowx hal_telephony_server self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(allow hal_telephony_server self (netlink_route_socket (nlmsg_write)))
(allow hal_telephony_server kernel_28_0 (system (module_request)))
(allow hal_telephony_server self (capability (setgid setuid setpcap net_admin net_raw)))
(allow hal_telephony_server self (cap_userns (setgid setuid setpcap net_admin net_raw)))
(allow hal_telephony_server alarm_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_telephony_server cgroup_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow hal_telephony_server cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow hal_telephony_server cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_telephony_server radio_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_telephony_server radio_device_28_0 (blk_file (ioctl read getattr lock map open)))
(allow hal_telephony_server mtd_device_28_0 (dir (search)))
(allow hal_telephony_server efs_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow hal_telephony_server efs_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow hal_telephony_server vendor_shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow hal_telephony_server bluetooth_efs_file_28_0 (file (ioctl read getattr lock map open)))
(allow hal_telephony_server bluetooth_efs_file_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_telephony_server property_socket_28_0 (sock_file (write)))
(allow hal_telephony_server init_28_0 (unix_stream_socket (connectto)))
(allow hal_telephony_server radio_prop_28_0 (property_service (set)))
(allow hal_telephony_server radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_telephony_server property_socket_28_0 (sock_file (write)))
(allow hal_telephony_server init_28_0 (unix_stream_socket (connectto)))
(allow hal_telephony_server exported_radio_prop_28_0 (property_service (set)))
(allow hal_telephony_server exported_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_telephony_server property_socket_28_0 (sock_file (write)))
(allow hal_telephony_server init_28_0 (unix_stream_socket (connectto)))
(allow hal_telephony_server exported2_radio_prop_28_0 (property_service (set)))
(allow hal_telephony_server exported2_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_telephony_server property_socket_28_0 (sock_file (write)))
(allow hal_telephony_server init_28_0 (unix_stream_socket (connectto)))
(allow hal_telephony_server exported3_radio_prop_28_0 (property_service (set)))
(allow hal_telephony_server exported3_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_telephony_server tty_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow hal_telephony_server self (netlink_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_telephony_server self (netlink_generic_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_telephony_server self (netlink_kobject_uevent_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_telephony_server sysfs_wake_lock_28_0 (file (ioctl read write getattr lock append map open)))
(allow hal_telephony_server self (capability2 (block_suspend)))
(allow hal_telephony_server self (cap2_userns (block_suspend)))
(allow hal_telephony_server proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_telephony_server proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow hal_telephony_server proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_telephony_server sysfs_type (dir (ioctl read getattr lock search open)))
(allow hal_telephony_server sysfs_type (file (ioctl read getattr lock map open)))
(allow hal_telephony_server sysfs_type (lnk_file (ioctl read getattr lock map open)))
(allow hal_telephony_server system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_telephony_server system_file_28_0 (file (ioctl read getattr lock map open)))
(allow hal_telephony_server system_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_telephony_server self (socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_tetheroffload_client hal_tetheroffload_server (binder (call transfer)))
(allow hal_tetheroffload_server hal_tetheroffload_client (binder (transfer)))
(allow hal_tetheroffload_client hal_tetheroffload_server (fd (use)))
(allow hal_tetheroffload_server hal_tetheroffload_client (binder (call transfer)))
(allow hal_tetheroffload_client hal_tetheroffload_server (binder (transfer)))
(allow hal_tetheroffload_server hal_tetheroffload_client (fd (use)))
(allow hal_tetheroffload_client hal_tetheroffload_hwservice_28_0 (hwservice_manager (find)))
(allow hal_tetheroffload_server hal_tetheroffload_client (netlink_netfilter_socket (read write getattr setopt)))
(allow hal_thermal_client hal_thermal_server (binder (call transfer)))
(allow hal_thermal_server hal_thermal_client (binder (transfer)))
(allow hal_thermal_client hal_thermal_server (fd (use)))
(allow hal_thermal_server hal_thermal_client (binder (call transfer)))
(allow hal_thermal_client hal_thermal_server (binder (transfer)))
(allow hal_thermal_server hal_thermal_client (fd (use)))
(allow hal_thermal_server hal_thermal_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_thermal_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_218_28_0 hal_thermal_hwservice_28_0 (hwservice_manager (add)))
(allow hal_thermal_client hal_thermal_hwservice_28_0 (hwservice_manager (find)))
(allow hal_tv_cec_client hal_tv_cec_server (binder (call transfer)))
(allow hal_tv_cec_server hal_tv_cec_client (binder (transfer)))
(allow hal_tv_cec_client hal_tv_cec_server (fd (use)))
(allow hal_tv_cec_server hal_tv_cec_client (binder (call transfer)))
(allow hal_tv_cec_client hal_tv_cec_server (binder (transfer)))
(allow hal_tv_cec_server hal_tv_cec_client (fd (use)))
(allow hal_tv_cec_server hal_tv_cec_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_tv_cec_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_219_28_0 hal_tv_cec_hwservice_28_0 (hwservice_manager (add)))
(allow hal_tv_cec_client hal_tv_cec_hwservice_28_0 (hwservice_manager (find)))
(allow hal_tv_input_client hal_tv_input_server (binder (call transfer)))
(allow hal_tv_input_server hal_tv_input_client (binder (transfer)))
(allow hal_tv_input_client hal_tv_input_server (fd (use)))
(allow hal_tv_input_server hal_tv_input_client (binder (call transfer)))
(allow hal_tv_input_client hal_tv_input_server (binder (transfer)))
(allow hal_tv_input_server hal_tv_input_client (fd (use)))
(allow hal_tv_input_server hal_tv_input_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_tv_input_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_220_28_0 hal_tv_input_hwservice_28_0 (hwservice_manager (add)))
(allow hal_tv_input_client hal_tv_input_hwservice_28_0 (hwservice_manager (find)))
(allow hal_usb_client hal_usb_server (binder (call transfer)))
(allow hal_usb_server hal_usb_client (binder (transfer)))
(allow hal_usb_client hal_usb_server (fd (use)))
(allow hal_usb_server hal_usb_client (binder (call transfer)))
(allow hal_usb_client hal_usb_server (binder (transfer)))
(allow hal_usb_server hal_usb_client (fd (use)))
(allow hal_usb_server hal_usb_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_usb_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_221_28_0 hal_usb_hwservice_28_0 (hwservice_manager (add)))
(allow hal_usb_client hal_usb_hwservice_28_0 (hwservice_manager (find)))
(allow hal_usb self (netlink_kobject_uevent_socket (create)))
(allow hal_usb self (netlink_kobject_uevent_socket (setopt)))
(allow hal_usb self (netlink_kobject_uevent_socket (bind)))
(allow hal_usb self (netlink_kobject_uevent_socket (read)))
(allow hal_usb sysfs_28_0 (dir (open)))
(allow hal_usb sysfs_28_0 (dir (read)))
(allow hal_usb sysfs_28_0 (file (read)))
(allow hal_usb sysfs_28_0 (file (open)))
(allow hal_usb sysfs_28_0 (file (write)))
(allow hal_usb sysfs_28_0 (file (getattr)))
(allow hal_usb_gadget_client hal_usb_gadget_server (binder (call transfer)))
(allow hal_usb_gadget_server hal_usb_gadget_client (binder (transfer)))
(allow hal_usb_gadget_client hal_usb_gadget_server (fd (use)))
(allow hal_usb_gadget_server hal_usb_gadget_client (binder (call transfer)))
(allow hal_usb_gadget_client hal_usb_gadget_server (binder (transfer)))
(allow hal_usb_gadget_server hal_usb_gadget_client (fd (use)))
(allow hal_usb_gadget_server hal_usb_gadget_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_usb_gadget_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_222_28_0 hal_usb_gadget_hwservice_28_0 (hwservice_manager (add)))
(allow hal_usb_gadget_client hal_usb_gadget_hwservice_28_0 (hwservice_manager (find)))
(allow hal_usb_gadget_server configfs_28_0 (lnk_file (read create unlink)))
(allow hal_usb_gadget_server configfs_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow hal_usb_gadget_server configfs_28_0 (file (ioctl read write getattr lock append map open)))
(allow hal_usb_gadget_server functionfs_28_0 (dir (read search)))
(allow hal_usb_gadget_server functionfs_28_0 (file (read)))
(allow hal_vehicle_client hal_vehicle_server (binder (call transfer)))
(allow hal_vehicle_server hal_vehicle_client (binder (transfer)))
(allow hal_vehicle_client hal_vehicle_server (fd (use)))
(allow hal_vehicle_server hal_vehicle_client (binder (call transfer)))
(allow hal_vehicle_client hal_vehicle_server (binder (transfer)))
(allow hal_vehicle_server hal_vehicle_client (fd (use)))
(allow hal_vehicle_server hal_vehicle_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_vehicle_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_223_28_0 hal_vehicle_hwservice_28_0 (hwservice_manager (add)))
(allow hal_vehicle_client hal_vehicle_hwservice_28_0 (hwservice_manager (find)))
(allow hal_vibrator_client hal_vibrator_server (binder (call transfer)))
(allow hal_vibrator_server hal_vibrator_client (binder (transfer)))
(allow hal_vibrator_client hal_vibrator_server (fd (use)))
(allow hal_vibrator_server hal_vibrator_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_vibrator_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_224_28_0 hal_vibrator_hwservice_28_0 (hwservice_manager (add)))
(allow hal_vibrator_client hal_vibrator_hwservice_28_0 (hwservice_manager (find)))
(allow hal_vibrator sysfs_vibrator_28_0 (file (ioctl read write getattr lock append map open)))
(allow hal_vibrator sysfs_vibrator_28_0 (dir (search)))
(allow hal_vr_client hal_vr_server (binder (call transfer)))
(allow hal_vr_server hal_vr_client (binder (transfer)))
(allow hal_vr_client hal_vr_server (fd (use)))
(allow hal_vr_server hal_vr_client (binder (call transfer)))
(allow hal_vr_client hal_vr_server (binder (transfer)))
(allow hal_vr_server hal_vr_client (fd (use)))
(allow hal_vr_server hal_vr_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_vr_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_225_28_0 hal_vr_hwservice_28_0 (hwservice_manager (add)))
(allow hal_vr_client hal_vr_hwservice_28_0 (hwservice_manager (find)))
(allow hal_weaver_client hal_weaver_server (binder (call transfer)))
(allow hal_weaver_server hal_weaver_client (binder (transfer)))
(allow hal_weaver_client hal_weaver_server (fd (use)))
(allow hal_weaver_server hal_weaver_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_weaver_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_226_28_0 hal_weaver_hwservice_28_0 (hwservice_manager (add)))
(allow hal_weaver_client hal_weaver_hwservice_28_0 (hwservice_manager (find)))
(allow hal_wifi_client hal_wifi_server (binder (call transfer)))
(allow hal_wifi_server hal_wifi_client (binder (transfer)))
(allow hal_wifi_client hal_wifi_server (fd (use)))
(allow hal_wifi_server hal_wifi_client (binder (call transfer)))
(allow hal_wifi_client hal_wifi_server (binder (transfer)))
(allow hal_wifi_server hal_wifi_client (fd (use)))
(allow hal_wifi_server hal_wifi_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_wifi_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_227_28_0 hal_wifi_hwservice_28_0 (hwservice_manager (add)))
(allow hal_wifi_client hal_wifi_hwservice_28_0 (hwservice_manager (find)))
(allow hal_wifi proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_wifi proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow hal_wifi proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_wifi sysfs_type (dir (ioctl read getattr lock search open)))
(allow hal_wifi sysfs_type (file (ioctl read getattr lock map open)))
(allow hal_wifi sysfs_type (lnk_file (ioctl read getattr lock map open)))
(allow hal_wifi property_socket_28_0 (sock_file (write)))
(allow hal_wifi init_28_0 (unix_stream_socket (connectto)))
(allow hal_wifi exported_wifi_prop_28_0 (property_service (set)))
(allow hal_wifi exported_wifi_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_wifi property_socket_28_0 (sock_file (write)))
(allow hal_wifi init_28_0 (unix_stream_socket (connectto)))
(allow hal_wifi wifi_prop_28_0 (property_service (set)))
(allow hal_wifi wifi_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hal_wifi self (udp_socket (ioctl read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allowx hal_wifi self (ioctl udp_socket (0x8914 0x8924)))
(allow hal_wifi self (capability (net_admin net_raw)))
(allow hal_wifi self (cap_userns (net_admin net_raw)))
(allow hal_wifi self (netlink_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_wifi self (netlink_generic_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_wifi sysfs_wlan_fwpath_28_0 (file (write lock append map open)))
(allow hal_wifi proc_modules_28_0 (file (read getattr open)))
(allow hal_wifi_server tombstone_wifi_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow hal_wifi_server tombstone_wifi_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow hal_wifi_hostapd_client hal_wifi_hostapd_server (binder (call transfer)))
(allow hal_wifi_hostapd_server hal_wifi_hostapd_client (binder (transfer)))
(allow hal_wifi_hostapd_client hal_wifi_hostapd_server (fd (use)))
(allow hal_wifi_hostapd_server hal_wifi_hostapd_client (binder (call transfer)))
(allow hal_wifi_hostapd_client hal_wifi_hostapd_server (binder (transfer)))
(allow hal_wifi_hostapd_server hal_wifi_hostapd_client (fd (use)))
(allow hal_wifi_hostapd_server hal_wifi_hostapd_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_wifi_hostapd_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_228_28_0 hal_wifi_hostapd_hwservice_28_0 (hwservice_manager (add)))
(allow hal_wifi_hostapd_client hal_wifi_hostapd_hwservice_28_0 (hwservice_manager (find)))
(allow hal_wifi_hostapd_server self (capability (net_admin net_raw)))
(allow hal_wifi_hostapd_server self (cap_userns (net_admin net_raw)))
(allow hal_wifi_hostapd_server sysfs_net_28_0 (dir (search)))
(allow hal_wifi_hostapd_server proc_net_28_0 (file (read getattr open)))
(allowx hal_wifi_hostapd_server self (ioctl udp_socket (0x6900 0x6902)))
(allowx hal_wifi_hostapd_server self (ioctl udp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(allowx hal_wifi_hostapd_server self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(allow hal_wifi_hostapd_server self (netlink_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_wifi_hostapd_server self (netlink_generic_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_wifi_hostapd_server self (packet_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_wifi_hostapd_server self (netlink_route_socket (nlmsg_write)))
(neverallow hal_wifi_hostapd_server sdcard_type (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow hal_wifi_hostapd_server sdcard_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(allow hal_wifi_offload_client hal_wifi_offload_server (binder (call transfer)))
(allow hal_wifi_offload_server hal_wifi_offload_client (binder (transfer)))
(allow hal_wifi_offload_client hal_wifi_offload_server (fd (use)))
(allow hal_wifi_offload_server hal_wifi_offload_client (binder (call transfer)))
(allow hal_wifi_offload_client hal_wifi_offload_server (binder (transfer)))
(allow hal_wifi_offload_server hal_wifi_offload_client (fd (use)))
(allow hal_wifi_offload_server hal_wifi_offload_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_wifi_offload_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_229_28_0 hal_wifi_offload_hwservice_28_0 (hwservice_manager (add)))
(allow hal_wifi_offload_client hal_wifi_offload_hwservice_28_0 (hwservice_manager (find)))
(allow hal_wifi_offload proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_wifi_offload proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow hal_wifi_offload proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_wifi_offload sysfs_type (dir (ioctl read getattr lock search open)))
(allow hal_wifi_offload sysfs_type (file (ioctl read getattr lock map open)))
(allow hal_wifi_offload sysfs_type (lnk_file (ioctl read getattr lock map open)))
(allow hal_wifi_supplicant_client hal_wifi_supplicant_server (binder (call transfer)))
(allow hal_wifi_supplicant_server hal_wifi_supplicant_client (binder (transfer)))
(allow hal_wifi_supplicant_client hal_wifi_supplicant_server (fd (use)))
(allow hal_wifi_supplicant_server hal_wifi_supplicant_client (binder (call transfer)))
(allow hal_wifi_supplicant_client hal_wifi_supplicant_server (binder (transfer)))
(allow hal_wifi_supplicant_server hal_wifi_supplicant_client (fd (use)))
(allow hal_wifi_supplicant_server hal_wifi_supplicant_hwservice_28_0 (hwservice_manager (add find)))
(allow hal_wifi_supplicant_server hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_230_28_0 hal_wifi_supplicant_hwservice_28_0 (hwservice_manager (add)))
(allow hal_wifi_supplicant_client hal_wifi_supplicant_hwservice_28_0 (hwservice_manager (find)))
(allowx hal_wifi_supplicant self (ioctl udp_socket (0x6900 0x6902)))
(allowx hal_wifi_supplicant self (ioctl udp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(allowx hal_wifi_supplicant self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(allow hal_wifi_supplicant sysfs_type (dir (ioctl read getattr lock search open)))
(allow hal_wifi_supplicant sysfs_type (file (ioctl read getattr lock map open)))
(allow hal_wifi_supplicant sysfs_type (lnk_file (ioctl read getattr lock map open)))
(allow hal_wifi_supplicant proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow hal_wifi_supplicant proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow hal_wifi_supplicant proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hal_wifi_supplicant kernel_28_0 (system (module_request)))
(allow hal_wifi_supplicant self (capability (setgid setuid net_admin net_raw)))
(allow hal_wifi_supplicant self (cap_userns (setgid setuid net_admin net_raw)))
(allow hal_wifi_supplicant cgroup_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow hal_wifi_supplicant self (netlink_route_socket (nlmsg_write)))
(allow hal_wifi_supplicant self (netlink_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_wifi_supplicant self (netlink_generic_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow hal_wifi_supplicant self (packet_socket (ioctl read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allowx hal_wifi_supplicant self (ioctl packet_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx hal_wifi_supplicant self (ioctl packet_socket (0x6900 0x6902)))
(allowx hal_wifi_supplicant self (ioctl packet_socket (((range 0x8906 0x8907)) ((range 0x890b 0x890d)) ((range 0x8910 0x8927)) 0x8929 ((range 0x8930 0x8939)) ((range 0x8940 0x8943)) ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(allowx hal_wifi_supplicant self (ioctl packet_socket (((range 0x8b00 0x8b02)) ((range 0x8b04 0x8b1d)) ((range 0x8b20 0x8b2d)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(neverallow hal_wifi_supplicant_server sdcard_type (dir (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow hal_wifi_supplicant_server sdcard_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(allow healthd_28_0 kmsg_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow healthd_28_0 sysfs_type (dir (search)))
(allow healthd_28_0 rootfs_28_0 (dir (ioctl read getattr lock search open)))
(allow healthd_28_0 rootfs_28_0 (file (ioctl read getattr lock map open)))
(allow healthd_28_0 rootfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow healthd_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow healthd_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow healthd_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow healthd_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow healthd_28_0 system_file_28_0 (file (ioctl read getattr lock map open)))
(allow healthd_28_0 system_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow healthd_28_0 self (capability (sys_tty_config)))
(allow healthd_28_0 self (cap_userns (sys_tty_config)))
(allow healthd_28_0 self (capability (sys_boot)))
(allow healthd_28_0 self (cap_userns (sys_boot)))
(allow healthd_28_0 self (netlink_kobject_uevent_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow healthd_28_0 sysfs_wake_lock_28_0 (file (ioctl read write getattr lock append map open)))
(allow healthd_28_0 self (capability2 (block_suspend)))
(allow healthd_28_0 self (cap2_userns (block_suspend)))
(allow healthd_28_0 sysfs_power_28_0 (file (ioctl read write getattr lock append map open)))
(allow healthd_28_0 sysfs_usb_28_0 (file (write)))
(allow healthd_28_0 sysfs_batteryinfo_28_0 (dir (ioctl read getattr lock search open)))
(allow healthd_28_0 sysfs_batteryinfo_28_0 (file (ioctl read getattr lock map open)))
(allow healthd_28_0 sysfs_batteryinfo_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow healthd_28_0 pstorefs_28_0 (dir (ioctl read getattr lock search open)))
(allow healthd_28_0 pstorefs_28_0 (file (ioctl read getattr lock map open)))
(allow healthd_28_0 graphics_device_28_0 (dir (ioctl read getattr lock search open)))
(allow healthd_28_0 graphics_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow healthd_28_0 input_device_28_0 (dir (ioctl read getattr lock search open)))
(allow healthd_28_0 input_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow healthd_28_0 tty_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow healthd_28_0 ashmem_device_28_0 (chr_file (execute)))
(allow healthd_28_0 self (process (execmem)))
(allow healthd_28_0 proc_sysrq_28_0 (file (ioctl read write getattr lock append map open)))
(allow healthd_28_0 property_socket_28_0 (sock_file (write)))
(allow healthd_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow healthd_28_0 system_prop_28_0 (property_service (set)))
(allow healthd_28_0 system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow healthd_28_0 property_socket_28_0 (sock_file (write)))
(allow healthd_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow healthd_28_0 exported_system_prop_28_0 (property_service (set)))
(allow healthd_28_0 exported_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow healthd_28_0 property_socket_28_0 (sock_file (write)))
(allow healthd_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow healthd_28_0 exported2_system_prop_28_0 (property_service (set)))
(allow healthd_28_0 exported2_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow healthd_28_0 property_socket_28_0 (sock_file (write)))
(allow healthd_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow healthd_28_0 exported3_system_prop_28_0 (property_service (set)))
(allow healthd_28_0 exported3_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hwservicemanager_28_0 self (binder (set_context_mgr)))
(allow hwservicemanager_28_0 property_socket_28_0 (sock_file (write)))
(allow hwservicemanager_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow hwservicemanager_28_0 hwservicemanager_prop_28_0 (property_service (set)))
(allow hwservicemanager_28_0 hwservicemanager_prop_28_0 (file (ioctl read getattr lock map open)))
(allow hwservicemanager_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow hwservicemanager_28_0 hwservice_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow hwservicemanager_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow hwservicemanager_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow hwservicemanager_28_0 selinuxfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow hwservicemanager_28_0 selinuxfs_28_0 (file (write lock append map open)))
(allow hwservicemanager_28_0 kernel_28_0 (security (compute_av)))
(allow hwservicemanager_28_0 self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(allow idmap_28_0 installd_28_0 (fd (use)))
(allow idmap_28_0 resourcecache_data_file_28_0 (file (read write getattr)))
(dontaudit idmap_28_0 installd_28_0 (file (read)))
(allow idmap_28_0 apk_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow idmap_28_0 apk_data_file_28_0 (dir (search)))
(allow idmap_28_0 vendor_app_file_28_0 (dir (ioctl read getattr lock search open)))
(allow idmap_28_0 vendor_app_file_28_0 (file (ioctl read getattr lock map open)))
(allow idmap_28_0 vendor_app_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow idmap_28_0 vendor_overlay_file_28_0 (dir (ioctl read getattr lock search open)))
(allow idmap_28_0 vendor_overlay_file_28_0 (file (ioctl read getattr lock map open)))
(allow idmap_28_0 vendor_overlay_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow init_28_0 tmpfs_28_0 (chr_file (ioctl read write create getattr setattr lock append map unlink open)))
(allow init_28_0 tmpfs_28_0 (chr_file (relabelfrom)))
(allow init_28_0 kmsg_device_28_0 (chr_file (write relabelto)))
(allow init_28_0 kmsg_debug_device_28_0 (chr_file (write relabelto)))
(allow init_28_0 properties_device_28_0 (dir (relabelto)))
(allow init_28_0 properties_serial_28_0 (file (write relabelto)))
(allow init_28_0 property_type (file (ioctl read write create getattr setattr lock relabelto append map unlink rename open)))
(allow init_28_0 properties_device_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow init_28_0 property_info_28_0 (file (relabelto)))
(allow init_28_0 device_28_0 (file (relabelfrom)))
(allow init_28_0 runtime_event_log_tags_file_28_0 (file (write create setattr relabelto open)))
(allow init_28_0 device_28_0 (dir (relabelto)))
(allow init_28_0 socket_device_28_0 (dir (relabelto)))
(allow init_28_0 random_device_28_0 (chr_file (relabelto)))
(allow init_28_0 tmpfs_28_0 (chr_file (relabelfrom)))
(allow init_28_0 tmpfs_28_0 (blk_file (relabelfrom)))
(allow init_28_0 tmpfs_28_0 (blk_file (getattr)))
(allow init_28_0 block_device_28_0 (dir (relabelto)))
(allow init_28_0 block_device_28_0 (lnk_file (relabelto)))
(allow init_28_0 block_device_28_0 (blk_file (relabelto)))
(allow init_28_0 dm_device_28_0 (chr_file (relabelto)))
(allow init_28_0 dm_device_28_0 (blk_file (relabelto)))
(allow init_28_0 kernel_28_0 (fd (use)))
(allow init_28_0 tmpfs_28_0 (lnk_file (read getattr relabelfrom)))
(allow init_28_0 system_block_device_28_0 (lnk_file (relabelto)))
(allow init_28_0 system_block_device_28_0 (blk_file (relabelto)))
(allow init_28_0 recovery_block_device_28_0 (lnk_file (relabelto)))
(allow init_28_0 recovery_block_device_28_0 (blk_file (relabelto)))
(allow init_28_0 misc_block_device_28_0 (lnk_file (relabelto)))
(allow init_28_0 misc_block_device_28_0 (blk_file (relabelto)))
(allow init_28_0 self (capability (sys_resource)))
(allow init_28_0 self (cap_userns (sys_resource)))
(allow init_28_0 tmpfs_28_0 (file (unlink)))
(allow init_28_0 devpts_28_0 (chr_file (read write open)))
(allow init_28_0 fscklogs_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow init_28_0 tmpfs_28_0 (chr_file (write)))
(allow init_28_0 console_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow init_28_0 tty_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow init_28_0 self (capability (sys_admin)))
(allow init_28_0 self (cap_userns (sys_admin)))
(allow init_28_0 rootfs_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow init_28_0 rootfs_28_0 (dir (mounton)))
(allow init_28_0 cgroup_28_0 (dir (mounton)))
(allow init_28_0 system_file_28_0 (dir (mounton)))
(allow init_28_0 vendor_file_28_0 (dir (mounton)))
(allow init_28_0 system_data_file_28_0 (dir (mounton)))
(allow init_28_0 storage_file_28_0 (dir (mounton)))
(allow init_28_0 postinstall_mnt_dir_28_0 (dir (mounton)))
(allow init_28_0 cache_file_28_0 (dir (mounton)))
(allow init_28_0 cgroup_bpf_28_0 (dir (create mounton)))
(allow init_28_0 fs_bpf_28_0 (dir (mounton)))
(allow init_28_0 device_28_0 (dir (mounton)))
(allow init_28_0 rootfs_28_0 (lnk_file (create unlink)))
(allow init_28_0 sysfs_28_0 (dir (mounton)))
(allow init_28_0 tmpfs_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow init_28_0 tmpfs_28_0 (dir (mounton)))
(allow init_28_0 cgroup_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow init_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow init_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow init_28_0 cpuctl_device_28_0 (dir (create mounton)))
(allow init_28_0 configfs_28_0 (dir (mounton)))
(allow init_28_0 configfs_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow init_28_0 configfs_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow init_28_0 configfs_28_0 (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow init_28_0 metadata_file_28_0 (dir (mounton)))
(allow init_28_0 tmpfs_28_0 (dir (relabelfrom)))
(allow init_28_0 self (capability (dac_override)))
(allow init_28_0 self (cap_userns (dac_override)))
(allow init_28_0 self (capability (sys_time)))
(allow init_28_0 self (cap_userns (sys_time)))
(allow init_28_0 self (capability (sys_rawio mknod)))
(allow init_28_0 self (cap_userns (sys_rawio mknod)))
(allow init_28_0 dev_type (blk_file (ioctl read getattr lock map open)))
(allow init_28_0 fs_type (filesystem (mount remount unmount getattr relabelfrom associate quotamod quotaget)))
(allow init_28_0 unlabeled_28_0 (filesystem (mount remount unmount getattr relabelfrom associate quotamod quotaget)))
(allow init_28_0 contextmount_type (filesystem (relabelto)))
(allow init_28_0 contextmount_type (dir (ioctl read getattr lock search open)))
(allow init_28_0 contextmount_type (file (ioctl read getattr lock map open)))
(allow init_28_0 contextmount_type (lnk_file (ioctl read getattr lock map open)))
(allow init_28_0 contextmount_type (sock_file (ioctl read getattr lock map open)))
(allow init_28_0 contextmount_type (fifo_file (ioctl read getattr lock map open)))
(allow init_28_0 rootfs_28_0 (file (relabelfrom)))
(allow init_28_0 rootfs_28_0 (dir (relabelfrom)))
(allow init_28_0 self (capability (chown fowner fsetid)))
(allow init_28_0 self (cap_userns (chown fowner fsetid)))
(allow init_28_0 base_typeattr_231_28_0 (dir (ioctl read create getattr setattr search open)))
(allow init_28_0 base_typeattr_232_28_0 (dir (write relabelfrom add_name remove_name rmdir)))
(allow init_28_0 base_typeattr_233_28_0 (file (read write create getattr setattr relabelfrom unlink open)))
(allow init_28_0 base_typeattr_232_28_0 (sock_file (read create getattr setattr relabelfrom unlink open)))
(allow init_28_0 base_typeattr_232_28_0 (fifo_file (read create getattr setattr relabelfrom unlink open)))
(allow init_28_0 base_typeattr_232_28_0 (lnk_file (create getattr setattr relabelfrom unlink)))
(allow init_28_0 cache_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow init_28_0 base_typeattr_234_28_0 (file (relabelto)))
(allow init_28_0 base_typeattr_234_28_0 (dir (relabelto)))
(allow init_28_0 base_typeattr_234_28_0 (lnk_file (relabelto)))
(allow init_28_0 base_typeattr_234_28_0 (chr_file (relabelto)))
(allow init_28_0 base_typeattr_234_28_0 (blk_file (relabelto)))
(allow init_28_0 base_typeattr_234_28_0 (sock_file (relabelto)))
(allow init_28_0 base_typeattr_234_28_0 (fifo_file (relabelto)))
(allow init_28_0 sysfs_28_0 (file (getattr relabelfrom)))
(allow init_28_0 sysfs_28_0 (dir (getattr relabelfrom)))
(allow init_28_0 sysfs_28_0 (lnk_file (getattr relabelfrom)))
(allow init_28_0 debugfs_28_0 (file (getattr relabelfrom)))
(allow init_28_0 debugfs_28_0 (dir (getattr relabelfrom)))
(allow init_28_0 debugfs_28_0 (lnk_file (getattr relabelfrom)))
(allow init_28_0 debugfs_tracing_28_0 (file (getattr relabelfrom)))
(allow init_28_0 debugfs_tracing_28_0 (dir (getattr relabelfrom)))
(allow init_28_0 debugfs_tracing_28_0 (lnk_file (getattr relabelfrom)))
(allow init_28_0 debugfs_tracing_debug_28_0 (file (getattr relabelfrom)))
(allow init_28_0 debugfs_tracing_debug_28_0 (dir (getattr relabelfrom)))
(allow init_28_0 debugfs_tracing_debug_28_0 (lnk_file (getattr relabelfrom)))
(allow init_28_0 sysfs_type (file (getattr relabelto)))
(allow init_28_0 sysfs_type (dir (getattr relabelto)))
(allow init_28_0 sysfs_type (lnk_file (getattr relabelto)))
(allow init_28_0 debugfs_type (file (getattr relabelto)))
(allow init_28_0 debugfs_type (dir (getattr relabelto)))
(allow init_28_0 debugfs_type (lnk_file (getattr relabelto)))
(allow init_28_0 dev_type (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow init_28_0 dev_type (lnk_file (create)))
(allow init_28_0 debugfs_tracing_28_0 (file (write lock append map open)))
(allow init_28_0 debugfs_tracing_instances_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow init_28_0 debugfs_tracing_instances_28_0 (file (write lock append map open)))
(allow init_28_0 debugfs_wifi_tracing_28_0 (file (write lock append map open)))
(allow init_28_0 base_typeattr_235_28_0 (file (read setattr open)))
(allow init_28_0 base_typeattr_236_28_0 (dir (read setattr search open)))
(allow init_28_0 base_typeattr_237_28_0 (chr_file (read open)))
(auditallow init_28_0 base_typeattr_238_28_0 (chr_file (read open)))
(allow init_28_0 base_typeattr_239_28_0 (chr_file (setattr)))
(allow init_28_0 unlabeled_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom rename add_name remove_name reparent search rmdir open)))
(allow init_28_0 unlabeled_28_0 (file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open)))
(allow init_28_0 unlabeled_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open)))
(allow init_28_0 unlabeled_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open)))
(allow init_28_0 unlabeled_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom append map unlink rename open)))
(allow init_28_0 kernel_28_0 (system (syslog_mod)))
(allow init_28_0 self (capability2 (syslog)))
(allow init_28_0 self (cap2_userns (syslog)))
(allow init_28_0 proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow init_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow init_28_0 proc_cmdline_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 proc_diskstats_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 proc_kmsg_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 proc_meminfo_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 proc_stat_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 proc_uptime_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 proc_version_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 proc_overcommit_memory_28_0 (file (write lock append map open)))
(allow init_28_0 proc_min_free_order_shift_28_0 (file (write lock append map open)))
(allow init_28_0 proc_abi_28_0 (file (write lock append map open)))
(allow init_28_0 proc_dirty_28_0 (file (write lock append map open)))
(allow init_28_0 proc_extra_free_kbytes_28_0 (file (write lock append map open)))
(allow init_28_0 proc_hostname_28_0 (file (write lock append map open)))
(allow init_28_0 proc_hung_task_28_0 (file (write lock append map open)))
(allow init_28_0 proc_max_map_count_28_0 (file (write lock append map open)))
(allow init_28_0 proc_net_28_0 (file (write lock append map open)))
(allow init_28_0 proc_page_cluster_28_0 (file (write lock append map open)))
(allow init_28_0 proc_panic_28_0 (file (write lock append map open)))
(allow init_28_0 proc_perf_28_0 (file (write lock append map open)))
(allow init_28_0 proc_sched_28_0 (file (write lock append map open)))
(allow init_28_0 proc_sysrq_28_0 (file (write lock append map open)))
(allow init_28_0 proc_security_28_0 (file (ioctl read write getattr lock append map open)))
(allow init_28_0 sysfs_android_usb_28_0 (file (write lock append map open)))
(allow init_28_0 sysfs_leds_28_0 (file (write lock append map open)))
(allow init_28_0 sysfs_power_28_0 (file (write lock append map open)))
(allow init_28_0 sysfs_dt_firmware_android_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 sysfs_zram_28_0 (file (ioctl read write getattr lock append map open)))
(allow init_28_0 sysfs_vibrator_28_0 (file (write lock append map open)))
(allow init_28_0 sysfs_android_usb_28_0 (file (setattr)))
(allow init_28_0 sysfs_ipv4_28_0 (file (setattr)))
(allow init_28_0 sysfs_leds_28_0 (file (setattr)))
(allow init_28_0 sysfs_wake_lock_28_0 (file (setattr)))
(allow init_28_0 sysfs_power_28_0 (file (setattr)))
(allow init_28_0 sysfs_devices_system_cpu_28_0 (file (setattr)))
(allow init_28_0 sysfs_lowmemorykiller_28_0 (file (setattr)))
(allow init_28_0 sysfs_vibrator_28_0 (file (setattr)))
(allow init_28_0 usermodehelper_28_0 (file (ioctl read write getattr lock append map open)))
(allow init_28_0 sysfs_usermodehelper_28_0 (file (ioctl read write getattr lock append map open)))
(allow init_28_0 self (capability (net_admin)))
(allow init_28_0 self (cap_userns (net_admin)))
(allow init_28_0 self (capability (sys_boot)))
(allow init_28_0 self (cap_userns (sys_boot)))
(allow init_28_0 misc_logd_file_28_0 (dir (read write create getattr setattr add_name search open)))
(allow init_28_0 misc_logd_file_28_0 (file (write create getattr setattr open)))
(allow init_28_0 self (capability (kill)))
(allow init_28_0 self (cap_userns (kill)))
(allow init_28_0 domain (process (sigkill signal getpgid)))
(allow init_28_0 keystore_data_file_28_0 (dir (read create getattr setattr search open)))
(allow init_28_0 keystore_data_file_28_0 (file (getattr)))
(allow init_28_0 vold_data_file_28_0 (dir (read create getattr setattr search open)))
(allow init_28_0 vold_data_file_28_0 (file (getattr)))
(allow init_28_0 shell_data_file_28_0 (dir (read create getattr setattr search open)))
(allow init_28_0 shell_data_file_28_0 (file (getattr)))
(allow init_28_0 self (capability (setgid setuid setpcap)))
(allow init_28_0 self (cap_userns (setgid setuid setpcap)))
(allow init_28_0 domain (dir (ioctl read getattr lock search open)))
(allow init_28_0 domain (file (ioctl read getattr lock map open)))
(allow init_28_0 domain (lnk_file (ioctl read getattr lock map open)))
(allow init_28_0 self (process (setexec setfscreate setsockcreate)))
(allow init_28_0 file_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 sepolicy_file_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow init_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 selinuxfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow init_28_0 selinuxfs_28_0 (file (write lock append map open)))
(allow init_28_0 kernel_28_0 (security (compute_av)))
(allow init_28_0 self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(allow init_28_0 kernel_28_0 (security (compute_create)))
(allow init_28_0 domain (unix_stream_socket (create bind setopt)))
(allow init_28_0 domain (unix_dgram_socket (create bind setopt)))
(allow init_28_0 property_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow init_28_0 property_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow init_28_0 property_type (property_service (set)))
(allow init_28_0 self (netlink_audit_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown nlmsg_relay)))
(allow init_28_0 self (capability (audit_write)))
(allow init_28_0 self (cap_userns (audit_write)))
(allow init_28_0 self (udp_socket (ioctl create)))
(allowx init_28_0 self (ioctl udp_socket (0x8914)))
(allow init_28_0 self (capability (net_raw)))
(allow init_28_0 self (cap_userns (net_raw)))
(allow init_28_0 kernel_28_0 (process (setsched)))
(allow init_28_0 swap_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow init_28_0 hw_random_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow init_28_0 device_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow init_28_0 self (capability (sys_tty_config)))
(allow init_28_0 self (cap_userns (sys_tty_config)))
(allow init_28_0 keychord_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow init_28_0 dm_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow init_28_0 dm_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow init_28_0 metadata_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow init_28_0 pstorefs_28_0 (dir (search)))
(allow init_28_0 pstorefs_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 kernel_28_0 (system (syslog_read)))
(allow init_28_0 init_28_0 (key (write search setattr)))
(allow init_28_0 unencrypted_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow init_28_0 proc_overcommit_memory_28_0 (file (write)))
(allow init_28_0 misc_block_device_28_0 (blk_file (write lock append map open)))
(allow init_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow init_28_0 system_file_28_0 (file (ioctl read getattr lock map open)))
(allow init_28_0 system_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow init_28_0 vendor_file_type (dir (ioctl read getattr lock search open)))
(allow init_28_0 vendor_file_type (file (ioctl read getattr lock map open)))
(allow init_28_0 vendor_file_type (lnk_file (ioctl read getattr lock map open)))
(allow init_28_0 system_data_file_28_0 (file (read getattr)))
(allow init_28_0 system_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow init_28_0 vendor_shell_exec_28_0 (file (execute)))
(allow init_28_0 vold_metadata_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow init_28_0 vold_metadata_file_28_0 (file (getattr)))
(neverallow domain init_28_0 (process (dyntransition)))
(neverallow base_typeattr_78_28_0 init_28_0 (process (transition)))
(neverallow init_28_0 base_typeattr_240_28_0 (file (entrypoint)))
(neverallow init_28_0 shell_data_file_28_0 (lnk_file (read)))
(neverallow init_28_0 app_data_file_28_0 (lnk_file (read)))
(neverallow init_28_0 fs_type (file (execute_no_trans)))
(neverallow init_28_0 file_type (file (execute_no_trans)))
(neverallow init_28_0 service_manager_type (service_manager (add find)))
(neverallow init_28_0 servicemanager_28_0 (service_manager (list)))
(neverallow init_28_0 shell_data_file_28_0 (dir (write add_name remove_name)))
(neverallow init_28_0 sysfs_28_0 (file (read write open)))
(allow inputflinger_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 inputflinger_28_0 (dir (search)))
(allow servicemanager_28_0 inputflinger_28_0 (file (read open)))
(allow servicemanager_28_0 inputflinger_28_0 (process (getattr)))
(allow inputflinger_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 inputflinger_28_0 (binder (transfer)))
(allow inputflinger_28_0 system_server_28_0 (fd (use)))
(allow inputflinger_28_0 sysfs_wake_lock_28_0 (file (ioctl read write getattr lock append map open)))
(allow inputflinger_28_0 self (capability2 (block_suspend)))
(allow inputflinger_28_0 self (cap2_userns (block_suspend)))
(allow inputflinger_28_0 inputflinger_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_241_28_0 inputflinger_service_28_0 (service_manager (add)))
(allow inputflinger_28_0 input_device_28_0 (dir (ioctl read getattr lock search open)))
(allow inputflinger_28_0 input_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow inputflinger_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow inputflinger_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow inputflinger_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow install_recovery_28_0 self (capability (dac_override)))
(allow install_recovery_28_0 self (cap_userns (dac_override)))
(allow install_recovery_28_0 shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow install_recovery_28_0 system_file_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow install_recovery_28_0 toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow install_recovery_28_0 block_device_28_0 (dir (search)))
(allow install_recovery_28_0 boot_block_device_28_0 (blk_file (ioctl read getattr lock map open)))
(allow install_recovery_28_0 recovery_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow install_recovery_28_0 cache_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow install_recovery_28_0 cache_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow install_recovery_28_0 proc_drop_caches_28_0 (file (write lock append map open)))
(allow installd_28_0 self (capability (chown dac_override fowner fsetid setgid setuid sys_admin)))
(allow installd_28_0 self (cap_userns (chown dac_override fowner fsetid setgid setuid sys_admin)))
(allow installd_28_0 dalvikcache_data_file_28_0 (dir (relabelto)))
(allow installd_28_0 dalvikcache_data_file_28_0 (file (relabelto link)))
(allow installd_28_0 apk_data_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 apk_data_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom append map unlink link rename open)))
(allow installd_28_0 apk_data_file_28_0 (lnk_file (ioctl read create getattr lock map unlink open)))
(allow installd_28_0 asec_apk_file_28_0 (file (ioctl read getattr lock map open)))
(allow installd_28_0 apk_tmp_file_28_0 (file (ioctl read getattr lock map unlink open)))
(allow installd_28_0 apk_tmp_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 oemfs_28_0 (dir (ioctl read getattr lock search open)))
(allow installd_28_0 oemfs_28_0 (file (ioctl read getattr lock map open)))
(allow installd_28_0 cgroup_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 mnt_expand_file_28_0 (dir (getattr search)))
(allow installd_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow installd_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow installd_28_0 selinuxfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow installd_28_0 selinuxfs_28_0 (file (write lock append map open)))
(allow installd_28_0 kernel_28_0 (security (check_context)))
(allow installd_28_0 rootfs_28_0 (dir (ioctl read getattr lock search open)))
(allow installd_28_0 rootfs_28_0 (file (ioctl read getattr lock map open)))
(allow installd_28_0 rootfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow installd_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow installd_28_0 system_file_28_0 (file (ioctl read getattr lock map open)))
(allow installd_28_0 system_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow installd_28_0 vendor_app_file_28_0 (dir (ioctl read getattr lock search open)))
(allow installd_28_0 vendor_app_file_28_0 (file (ioctl read getattr lock map open)))
(allow installd_28_0 vendor_app_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow installd_28_0 vendor_overlay_file_28_0 (dir (ioctl read getattr lock search open)))
(allow installd_28_0 vendor_overlay_file_28_0 (file (ioctl read getattr lock map open)))
(allow installd_28_0 vendor_overlay_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow installd_28_0 file_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow installd_28_0 seapp_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow installd_28_0 asec_image_file_28_0 (dir (search)))
(allow installd_28_0 asec_image_file_28_0 (file (getattr)))
(allow installd_28_0 system_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 system_data_file_28_0 (lnk_file (read create getattr setattr unlink)))
(allow installd_28_0 media_rw_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 media_rw_data_file_28_0 (file (getattr unlink)))
(allow installd_28_0 system_data_file_28_0 (dir (relabelfrom)))
(allow installd_28_0 media_rw_data_file_28_0 (dir (relabelto)))
(allow installd_28_0 tmpfs_28_0 (dir (ioctl read getattr lock search open)))
(allow installd_28_0 storage_file_28_0 (dir (search)))
(allow installd_28_0 sdcardfs_28_0 (dir (read write getattr remove_name search rmdir open)))
(allow installd_28_0 sdcardfs_28_0 (file (getattr unlink)))
(allow installd_28_0 misc_user_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 misc_user_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow installd_28_0 keychain_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 keychain_data_file_28_0 (file (ioctl read getattr lock map unlink open)))
(allow installd_28_0 install_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow installd_28_0 dalvikcache_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 dalvikcache_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow installd_28_0 dalvikcache_data_file_28_0 (lnk_file (getattr)))
(allow installd_28_0 resourcecache_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow installd_28_0 resourcecache_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow installd_28_0 unlabeled_28_0 (dir (ioctl read write getattr lock relabelfrom add_name remove_name search rmdir open)))
(allow installd_28_0 unlabeled_28_0 (file (getattr setattr relabelfrom unlink rename)))
(allow installd_28_0 unlabeled_28_0 (lnk_file (getattr setattr relabelfrom unlink rename)))
(allow installd_28_0 unlabeled_28_0 (sock_file (getattr setattr relabelfrom unlink rename)))
(allow installd_28_0 unlabeled_28_0 (fifo_file (getattr setattr relabelfrom unlink rename)))
(allow installd_28_0 unlabeled_28_0 (file (ioctl read getattr lock map open)))
(allow installd_28_0 system_data_file_28_0 (file (getattr relabelfrom unlink)))
(allow installd_28_0 system_data_file_28_0 (lnk_file (getattr relabelfrom unlink)))
(allow installd_28_0 system_data_file_28_0 (sock_file (getattr relabelfrom unlink)))
(allow installd_28_0 system_data_file_28_0 (fifo_file (getattr relabelfrom unlink)))
(allow installd_28_0 shell_data_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 bluetooth_data_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 nfc_data_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 radio_data_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 app_data_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 system_app_data_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 shell_data_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 shell_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 shell_data_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 shell_data_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 bluetooth_data_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 bluetooth_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 bluetooth_data_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 bluetooth_data_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 nfc_data_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 nfc_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 nfc_data_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 nfc_data_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 radio_data_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 radio_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 radio_data_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 radio_data_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 app_data_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 app_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 app_data_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 app_data_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 system_app_data_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 system_app_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 system_app_data_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 system_app_data_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink rename open)))
(allow installd_28_0 user_profile_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow installd_28_0 user_profile_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow installd_28_0 user_profile_data_file_28_0 (dir (rmdir)))
(allow installd_28_0 user_profile_data_file_28_0 (file (unlink)))
(allow installd_28_0 profman_dump_data_file_28_0 (dir (write add_name search)))
(allow installd_28_0 profman_dump_data_file_28_0 (file (write create setattr open)))
(allow installd_28_0 devpts_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow installd_28_0 toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow installd_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 installd_28_0 (dir (search)))
(allow servicemanager_28_0 installd_28_0 (file (read open)))
(allow servicemanager_28_0 installd_28_0 (process (getattr)))
(allow installd_28_0 installd_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_242_28_0 installd_service_28_0 (service_manager (add)))
(allow installd_28_0 dumpstate_28_0 (fifo_file (write getattr)))
(allow installd_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 installd_28_0 (binder (transfer)))
(allow installd_28_0 system_server_28_0 (fd (use)))
(allow installd_28_0 permission_service_28_0 (service_manager (find)))
(allow installd_28_0 block_device_28_0 (dir (search)))
(allow installd_28_0 labeledfs_28_0 (filesystem (quotamod quotaget)))
(allow installd_28_0 preloads_data_file_28_0 (file (ioctl read getattr lock map unlink open)))
(allow installd_28_0 preloads_data_file_28_0 (dir (ioctl read write getattr lock remove_name search rmdir open)))
(allow installd_28_0 preloads_media_file_28_0 (file (ioctl read getattr lock map unlink open)))
(allow installd_28_0 preloads_media_file_28_0 (dir (ioctl read write getattr lock remove_name search rmdir open)))
(neverallow base_typeattr_243_28_0 installd_service_28_0 (service_manager (find)))
(neverallow base_typeattr_244_28_0 installd_28_0 (binder (call)))
(neverallow installd_28_0 base_typeattr_245_28_0 (binder (call)))
(allow kernel_28_0 self (capability (sys_nice)))
(allow kernel_28_0 self (cap_userns (sys_nice)))
(allow kernel_28_0 rootfs_28_0 (dir (ioctl read getattr lock search open)))
(allow kernel_28_0 rootfs_28_0 (file (ioctl read getattr lock map open)))
(allow kernel_28_0 rootfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow kernel_28_0 proc_cmdline_28_0 (file (ioctl read getattr lock map open)))
(allow kernel_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow kernel_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow kernel_28_0 file_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow kernel_28_0 rootfs_28_0 (file (relabelfrom)))
(allow kernel_28_0 init_exec_28_0 (file (relabelto)))
(allow kernel_28_0 init_28_0 (process (share)))
(allow kernel_28_0 unlabeled_28_0 (dir (search)))
(allow kernel_28_0 usbfs_28_0 (filesystem (mount)))
(allow kernel_28_0 usbfs_28_0 (dir (search)))
(dontaudit kernel_28_0 self (security (setenforce)))
(allow kernel_28_0 self (capability (sys_resource)))
(allow kernel_28_0 self (cap_userns (sys_resource)))
(allow kernel_28_0 self (capability (sys_boot)))
(allow kernel_28_0 self (cap_userns (sys_boot)))
(allow kernel_28_0 proc_sysrq_28_0 (file (write lock append map open)))
(allow kernel_28_0 tmpfs_28_0 (chr_file (write)))
(allow kernel_28_0 selinuxfs_28_0 (file (write)))
(allow kernel_28_0 self (security (setcheckreqprot)))
(allow kernel_28_0 sdcard_type (file (read write)))
(allow kernel_28_0 mediaprovider_28_0 (fd (use)))
(allow kernel_28_0 vold_28_0 (fd (use)))
(allow kernel_28_0 app_data_file_28_0 (file (read)))
(allow kernel_28_0 asec_image_file_28_0 (file (read)))
(allow kernel_28_0 update_engine_data_file_28_0 (file (read)))
(allow kernel_28_0 nativetest_data_file_28_0 (file (read write)))
(allow kernel_28_0 media_rw_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow kernel_28_0 media_rw_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow kernel_28_0 vold_data_file_28_0 (file (read)))
(neverallow base_typeattr_59_28_0 kernel_28_0 (process (transition dyntransition)))
(neverallow kernel_28_0 base_typeattr_59_28_0 (file (execute_no_trans entrypoint)))
(neverallow kernel_28_0 self (capability (dac_override dac_read_search)))
(neverallow kernel_28_0 self (cap_userns (dac_override dac_read_search)))
(allow keystore_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 keystore_28_0 (dir (search)))
(allow servicemanager_28_0 keystore_28_0 (file (read open)))
(allow servicemanager_28_0 keystore_28_0 (process (getattr)))
(allow keystore_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 keystore_28_0 (binder (transfer)))
(allow keystore_28_0 system_server_28_0 (fd (use)))
(allow keystore_28_0 keystore_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow keystore_28_0 keystore_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow keystore_28_0 keystore_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow keystore_28_0 keystore_data_file_28_0 (sock_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow keystore_28_0 keystore_data_file_28_0 (fifo_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow keystore_28_0 keystore_exec_28_0 (file (getattr)))
(allow keystore_28_0 keystore_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_246_28_0 keystore_service_28_0 (service_manager (add)))
(allow keystore_28_0 sec_key_att_app_id_provider_service_28_0 (service_manager (find)))
(allow keystore_28_0 dropbox_service_28_0 (service_manager (find)))
(allow keystore_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow keystore_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow keystore_28_0 selinuxfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow keystore_28_0 selinuxfs_28_0 (file (write lock append map open)))
(allow keystore_28_0 kernel_28_0 (security (compute_av)))
(allow keystore_28_0 self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(allow keystore_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow keystore_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow keystore_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(neverallow base_typeattr_246_28_0 keystore_data_file_28_0 (dir (write lock relabelfrom append map unlink link rename execute quotaon mounton add_name remove_name reparent rmdir audit_access execmod)))
(neverallow base_typeattr_246_28_0 keystore_data_file_28_0 (file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_246_28_0 keystore_data_file_28_0 (lnk_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_246_28_0 keystore_data_file_28_0 (sock_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_246_28_0 keystore_data_file_28_0 (fifo_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_247_28_0 keystore_data_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow base_typeattr_247_28_0 keystore_data_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_247_28_0 keystore_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_247_28_0 keystore_data_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_247_28_0 keystore_data_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_59_28_0 keystore_28_0 (process (ptrace)))
(allow lmkd_28_0 self (capability (dac_override kill sys_resource)))
(allow lmkd_28_0 self (cap_userns (dac_override kill sys_resource)))
(allow lmkd_28_0 self (capability (ipc_lock)))
(allow lmkd_28_0 self (cap_userns (ipc_lock)))
(allow lmkd_28_0 appdomain (dir (ioctl read getattr lock search open)))
(allow lmkd_28_0 appdomain (file (ioctl read getattr lock map open)))
(allow lmkd_28_0 appdomain (lnk_file (ioctl read getattr lock map open)))
(allow lmkd_28_0 appdomain (file (write)))
(allow lmkd_28_0 system_server_28_0 (dir (ioctl read getattr lock search open)))
(allow lmkd_28_0 system_server_28_0 (file (ioctl read getattr lock map open)))
(allow lmkd_28_0 system_server_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow lmkd_28_0 system_server_28_0 (file (write)))
(allow lmkd_28_0 sysfs_lowmemorykiller_28_0 (dir (ioctl read getattr lock search open)))
(allow lmkd_28_0 sysfs_lowmemorykiller_28_0 (file (ioctl read getattr lock map open)))
(allow lmkd_28_0 sysfs_lowmemorykiller_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow lmkd_28_0 sysfs_lowmemorykiller_28_0 (file (write lock append map open)))
(allow lmkd_28_0 appdomain (process (sigkill)))
(allow lmkd_28_0 cgroup_28_0 (dir (remove_name rmdir)))
(allow lmkd_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow lmkd_28_0 self (capability (sys_nice)))
(allow lmkd_28_0 self (cap_userns (sys_nice)))
(allow lmkd_28_0 proc_zoneinfo_28_0 (file (ioctl read getattr lock map open)))
(allow lmkd_28_0 domain (dir (read search open)))
(allow lmkd_28_0 domain (file (read open)))
(allow lmkd_28_0 proc_sysrq_28_0 (file (ioctl read write getattr lock append map open)))
(allow lmkd_28_0 proc_meminfo_28_0 (file (ioctl read getattr lock map open)))
(neverallow base_typeattr_59_28_0 lmkd_28_0 (process (noatsecure)))
(allow logd_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow logd_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow logd_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow logd_28_0 proc_kmsg_28_0 (dir (ioctl read getattr lock search open)))
(allow logd_28_0 proc_kmsg_28_0 (file (ioctl read getattr lock map open)))
(allow logd_28_0 proc_kmsg_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow logd_28_0 proc_meminfo_28_0 (dir (ioctl read getattr lock search open)))
(allow logd_28_0 proc_meminfo_28_0 (file (ioctl read getattr lock map open)))
(allow logd_28_0 proc_meminfo_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow logd_28_0 proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow logd_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow logd_28_0 proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow logd_28_0 self (capability (setgid setuid setpcap sys_nice audit_control)))
(allow logd_28_0 self (cap_userns (setgid setuid setpcap sys_nice audit_control)))
(allow logd_28_0 self (capability2 (syslog)))
(allow logd_28_0 self (cap2_userns (syslog)))
(allow logd_28_0 self (netlink_audit_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown nlmsg_write)))
(allow logd_28_0 kernel_28_0 (system (syslog_read)))
(allow logd_28_0 kmsg_device_28_0 (chr_file (write lock append map open)))
(allow logd_28_0 system_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow logd_28_0 system_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow logd_28_0 pstorefs_28_0 (dir (search)))
(allow logd_28_0 pstorefs_28_0 (file (ioctl read getattr lock map open)))
(allow logd_28_0 misc_logd_file_28_0 (dir (ioctl read getattr lock search open)))
(allow logd_28_0 misc_logd_file_28_0 (file (ioctl read write getattr lock append map open)))
(allow logd_28_0 runtime_event_log_tags_file_28_0 (file (ioctl read write getattr lock append map open)))
(allow logd_28_0 device_logging_prop_28_0 (file (ioctl read getattr lock map open)))
(allow logd_28_0 domain (dir (ioctl read getattr lock search open)))
(allow logd_28_0 domain (file (ioctl read getattr lock map open)))
(allow logd_28_0 domain (lnk_file (ioctl read getattr lock map open)))
(allow logd_28_0 kernel_28_0 (system (syslog_mod)))
(allow logd_28_0 logd_socket_28_0 (sock_file (write)))
(allow logd_28_0 logd_28_0 (unix_stream_socket (connectto)))
(allow logd_28_0 runtime_event_log_tags_file_28_0 (file (ioctl read getattr lock map open)))
(allow runtime_event_log_tags_file_28_0 tmpfs_28_0 (filesystem (associate)))
(dontaudit domain runtime_event_log_tags_file_28_0 (file (read open)))
(neverallow logd_28_0 dev_type (blk_file (read write)))
(neverallow logd_28_0 domain (process (ptrace)))
(neverallow base_typeattr_248_28_0 logd_28_0 (process (ptrace)))
(neverallow logd_28_0 system_file_28_0 (file (write)))
(neverallow logd_28_0 system_file_28_0 (dir (write)))
(neverallow logd_28_0 system_file_28_0 (lnk_file (write)))
(neverallow logd_28_0 system_file_28_0 (chr_file (write)))
(neverallow logd_28_0 system_file_28_0 (blk_file (write)))
(neverallow logd_28_0 system_file_28_0 (sock_file (write)))
(neverallow logd_28_0 system_file_28_0 (fifo_file (write)))
(neverallow logd_28_0 system_data_file_28_0 (file (write)))
(neverallow logd_28_0 system_data_file_28_0 (dir (write)))
(neverallow logd_28_0 system_data_file_28_0 (lnk_file (write)))
(neverallow logd_28_0 system_data_file_28_0 (chr_file (write)))
(neverallow logd_28_0 system_data_file_28_0 (blk_file (write)))
(neverallow logd_28_0 system_data_file_28_0 (sock_file (write)))
(neverallow logd_28_0 system_data_file_28_0 (fifo_file (write)))
(neverallow logd_28_0 app_data_file_28_0 (file (write)))
(neverallow logd_28_0 app_data_file_28_0 (dir (write)))
(neverallow logd_28_0 app_data_file_28_0 (lnk_file (write)))
(neverallow logd_28_0 app_data_file_28_0 (chr_file (write)))
(neverallow logd_28_0 app_data_file_28_0 (blk_file (write)))
(neverallow logd_28_0 app_data_file_28_0 (sock_file (write)))
(neverallow logd_28_0 app_data_file_28_0 (fifo_file (write)))
(neverallow base_typeattr_69_28_0 logd_28_0 (process (transition)))
(neverallow base_typeattr_59_28_0 logd_28_0 (process (dyntransition)))
(neverallow base_typeattr_249_28_0 runtime_event_log_tags_file_28_0 (file (write create setattr relabelfrom append unlink link rename)))
(neverallow logpersist_28_0 dev_type (blk_file (read write)))
(neverallow logpersist_28_0 domain (process (ptrace)))
(neverallow logpersist_28_0 system_data_file_28_0 (file (write)))
(neverallow logpersist_28_0 system_data_file_28_0 (dir (write)))
(neverallow logpersist_28_0 system_data_file_28_0 (lnk_file (write)))
(neverallow logpersist_28_0 system_data_file_28_0 (chr_file (write)))
(neverallow logpersist_28_0 system_data_file_28_0 (blk_file (write)))
(neverallow logpersist_28_0 system_data_file_28_0 (sock_file (write)))
(neverallow logpersist_28_0 system_data_file_28_0 (fifo_file (write)))
(neverallow logpersist_28_0 app_data_file_28_0 (file (write)))
(neverallow logpersist_28_0 app_data_file_28_0 (dir (write)))
(neverallow logpersist_28_0 app_data_file_28_0 (lnk_file (write)))
(neverallow logpersist_28_0 app_data_file_28_0 (chr_file (write)))
(neverallow logpersist_28_0 app_data_file_28_0 (blk_file (write)))
(neverallow logpersist_28_0 app_data_file_28_0 (sock_file (write)))
(neverallow logpersist_28_0 app_data_file_28_0 (fifo_file (write)))
(neverallow base_typeattr_59_28_0 logpersist_28_0 (process (dyntransition)))
(allow mediacodec_28_0 hwservicemanager_prop_28_0 (file (ioctl read getattr lock map open)))
(allow mediacodec_28_0 vndbinder_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow mediacodec_28_0 vndservicemanager_28_0 (binder (call transfer)))
(allow vndservicemanager_28_0 mediacodec_28_0 (dir (search)))
(allow vndservicemanager_28_0 mediacodec_28_0 (file (read open)))
(allow vndservicemanager_28_0 mediacodec_28_0 (process (getattr)))
(allow mediacodec_28_0 binderservicedomain (binder (call transfer)))
(allow binderservicedomain mediacodec_28_0 (binder (transfer)))
(allow mediacodec_28_0 binderservicedomain (fd (use)))
(allow mediacodec_28_0 appdomain (binder (call transfer)))
(allow appdomain mediacodec_28_0 (binder (transfer)))
(allow mediacodec_28_0 appdomain (fd (use)))
(allow mediacodec_28_0 hal_graphics_composer (fd (use)))
(allow mediacodec_28_0 gpu_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow mediacodec_28_0 video_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow mediacodec_28_0 video_device_28_0 (dir (search)))
(allow mediacodec_28_0 ion_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow mediacodec_28_0 hal_camera (fd (use)))
(allow mediacodec_28_0 su_28_0 (fifo_file (append)))
(allow mediacodec_28_0 anr_data_file_28_0 (file (append)))
(allow mediacodec_28_0 dumpstate_28_0 (fd (use)))
(allow mediacodec_28_0 incidentd_28_0 (fd (use)))
(allow mediacodec_28_0 dumpstate_28_0 (fifo_file (write append)))
(allow mediacodec_28_0 incidentd_28_0 (fifo_file (write append)))
(allow mediacodec_28_0 system_server_28_0 (fifo_file (write append)))
(allow mediacodec_28_0 tombstoned_28_0 (unix_stream_socket (connectto)))
(allow mediacodec_28_0 tombstoned_28_0 (fd (use)))
(allow mediacodec_28_0 tombstoned_crash_socket_28_0 (sock_file (write)))
(allow mediacodec_28_0 tombstone_data_file_28_0 (file (append)))
(allow mediacodec_28_0 hal_codec2_hwservice_28_0 (hwservice_manager (add find)))
(allow mediacodec_28_0 hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_250_28_0 hal_codec2_hwservice_28_0 (hwservice_manager (add)))
(allow mediacodec_28_0 hal_omx_hwservice_28_0 (hwservice_manager (add find)))
(allow mediacodec_28_0 hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_250_28_0 hal_omx_hwservice_28_0 (hwservice_manager (add)))
(allow mediacodec_28_0 bufferhubd_28_0 (fd (use)))
(neverallow mediacodec_28_0 fs_type (file (execute_no_trans)))
(neverallow mediacodec_28_0 file_type (file (execute_no_trans)))
(neverallow mediacodec_28_0 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 mediacodec_28_0 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 mediacodec_28_0 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)))
(allow mediadrmserver_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 mediadrmserver_28_0 (dir (search)))
(allow servicemanager_28_0 mediadrmserver_28_0 (file (read open)))
(allow servicemanager_28_0 mediadrmserver_28_0 (process (getattr)))
(allow mediadrmserver_28_0 binderservicedomain (binder (call transfer)))
(allow binderservicedomain mediadrmserver_28_0 (binder (transfer)))
(allow mediadrmserver_28_0 binderservicedomain (fd (use)))
(allow mediadrmserver_28_0 appdomain (binder (call transfer)))
(allow appdomain mediadrmserver_28_0 (binder (transfer)))
(allow mediadrmserver_28_0 appdomain (fd (use)))
(allow mediadrmserver_28_0 mediadrmserver_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_251_28_0 mediadrmserver_service_28_0 (service_manager (add)))
(allow mediadrmserver_28_0 mediaserver_service_28_0 (service_manager (find)))
(allow mediadrmserver_28_0 mediametrics_service_28_0 (service_manager (find)))
(allow mediadrmserver_28_0 processinfo_service_28_0 (service_manager (find)))
(allow mediadrmserver_28_0 surfaceflinger_service_28_0 (service_manager (find)))
(allow mediadrmserver_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow mediadrmserver_28_0 mediacodec_28_0 (binder (call transfer)))
(allow mediacodec_28_0 mediadrmserver_28_0 (binder (transfer)))
(allow mediadrmserver_28_0 mediacodec_28_0 (fd (use)))
(neverallow mediadrmserver_28_0 fs_type (file (execute_no_trans)))
(neverallow mediadrmserver_28_0 file_type (file (execute_no_trans)))
(neverallowx mediadrmserver_28_0 domain (ioctl tcp_socket (0x6900 0x6902)))
(neverallowx mediadrmserver_28_0 domain (ioctl udp_socket (0x6900 0x6902)))
(neverallowx mediadrmserver_28_0 domain (ioctl rawip_socket (0x6900 0x6902)))
(neverallowx mediadrmserver_28_0 domain (ioctl tcp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx mediadrmserver_28_0 domain (ioctl udp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx mediadrmserver_28_0 domain (ioctl rawip_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx mediadrmserver_28_0 domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(neverallowx mediadrmserver_28_0 domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(neverallowx mediadrmserver_28_0 domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(allow mediaextractor_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 mediaextractor_28_0 (dir (search)))
(allow servicemanager_28_0 mediaextractor_28_0 (file (read open)))
(allow servicemanager_28_0 mediaextractor_28_0 (process (getattr)))
(allow mediaextractor_28_0 binderservicedomain (binder (call transfer)))
(allow binderservicedomain mediaextractor_28_0 (binder (transfer)))
(allow mediaextractor_28_0 binderservicedomain (fd (use)))
(allow mediaextractor_28_0 appdomain (binder (call transfer)))
(allow appdomain mediaextractor_28_0 (binder (transfer)))
(allow mediaextractor_28_0 appdomain (fd (use)))
(allow mediaextractor_28_0 mediaextractor_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_252_28_0 mediaextractor_service_28_0 (service_manager (add)))
(allow mediaextractor_28_0 mediametrics_service_28_0 (service_manager (find)))
(allow mediaextractor_28_0 hidl_token_hwservice_28_0 (hwservice_manager (find)))
(allow mediaextractor_28_0 system_server_28_0 (fd (use)))
(allow mediaextractor_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow mediaextractor_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow mediaextractor_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow mediaextractor_28_0 proc_meminfo_28_0 (file (ioctl read getattr lock map open)))
(allow mediaextractor_28_0 su_28_0 (fifo_file (append)))
(allow mediaextractor_28_0 anr_data_file_28_0 (file (append)))
(allow mediaextractor_28_0 dumpstate_28_0 (fd (use)))
(allow mediaextractor_28_0 incidentd_28_0 (fd (use)))
(allow mediaextractor_28_0 dumpstate_28_0 (fifo_file (write append)))
(allow mediaextractor_28_0 incidentd_28_0 (fifo_file (write append)))
(allow mediaextractor_28_0 system_server_28_0 (fifo_file (write append)))
(allow mediaextractor_28_0 tombstoned_28_0 (unix_stream_socket (connectto)))
(allow mediaextractor_28_0 tombstoned_28_0 (fd (use)))
(allow mediaextractor_28_0 tombstoned_crash_socket_28_0 (sock_file (write)))
(allow mediaextractor_28_0 tombstone_data_file_28_0 (file (append)))
(allow mediaextractor_28_0 sdcardfs_28_0 (file (read getattr)))
(allow mediaextractor_28_0 media_rw_data_file_28_0 (file (read getattr)))
(allow mediaextractor_28_0 app_data_file_28_0 (file (read getattr)))
(allow mediaextractor_28_0 apk_data_file_28_0 (file (read getattr)))
(allow mediaextractor_28_0 asec_apk_file_28_0 (file (read getattr)))
(allow mediaextractor_28_0 ringtone_file_28_0 (file (read getattr)))
(allow mediaextractor_28_0 system_file_28_0 (dir (read open)))
(allow mediaextractor_28_0 mediaextractor_update_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_252_28_0 mediaextractor_update_service_28_0 (service_manager (add)))
(allow mediaextractor_28_0 apk_data_file_28_0 (dir (search)))
(allow mediaextractor_28_0 apk_data_file_28_0 (file (execute open)))
(neverallow mediaextractor_28_0 fs_type (file (execute_no_trans)))
(neverallow mediaextractor_28_0 file_type (file (execute_no_trans)))
(neverallow mediaextractor_28_0 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 mediaextractor_28_0 domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(neverallow mediaextractor_28_0 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 mediaextractor_28_0 base_typeattr_253_28_0 (file (open)))
(allow mediametrics_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 mediametrics_28_0 (dir (search)))
(allow servicemanager_28_0 mediametrics_28_0 (file (read open)))
(allow servicemanager_28_0 mediametrics_28_0 (process (getattr)))
(allow mediametrics_28_0 binderservicedomain (binder (call transfer)))
(allow binderservicedomain mediametrics_28_0 (binder (transfer)))
(allow mediametrics_28_0 binderservicedomain (fd (use)))
(allow mediametrics_28_0 mediametrics_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_254_28_0 mediametrics_service_28_0 (service_manager (add)))
(allow mediametrics_28_0 system_server_28_0 (fd (use)))
(allow mediametrics_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow mediametrics_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow mediametrics_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow mediametrics_28_0 proc_meminfo_28_0 (file (ioctl read getattr lock map open)))
(allow mediametrics_28_0 app_data_file_28_0 (file (write)))
(allow mediametrics_28_0 package_native_service_28_0 (service_manager (find)))
(neverallow mediametrics_28_0 fs_type (file (execute_no_trans)))
(neverallow mediametrics_28_0 file_type (file (execute_no_trans)))
(neverallow mediametrics_28_0 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 mediametrics_28_0 domain (udp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(neverallow mediametrics_28_0 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)))
(allow mediaserver_28_0 sdcard_type (dir (ioctl read getattr lock search open)))
(allow mediaserver_28_0 sdcard_type (file (ioctl read getattr lock map open)))
(allow mediaserver_28_0 sdcard_type (lnk_file (ioctl read getattr lock map open)))
(allow mediaserver_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow mediaserver_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow mediaserver_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow mediaserver_28_0 proc_28_0 (lnk_file (getattr)))
(allow mediaserver_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow mediaserver_28_0 self (process (ptrace)))
(allow mediaserver_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 mediaserver_28_0 (dir (search)))
(allow servicemanager_28_0 mediaserver_28_0 (file (read open)))
(allow servicemanager_28_0 mediaserver_28_0 (process (getattr)))
(allow mediaserver_28_0 binderservicedomain (binder (call transfer)))
(allow binderservicedomain mediaserver_28_0 (binder (transfer)))
(allow mediaserver_28_0 binderservicedomain (fd (use)))
(allow mediaserver_28_0 appdomain (binder (call transfer)))
(allow appdomain mediaserver_28_0 (binder (transfer)))
(allow mediaserver_28_0 appdomain (fd (use)))
(allow mediaserver_28_0 media_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow mediaserver_28_0 media_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow mediaserver_28_0 app_data_file_28_0 (dir (search)))
(allow mediaserver_28_0 app_data_file_28_0 (file (ioctl read write getattr lock append map open)))
(allow mediaserver_28_0 sdcard_type (file (write)))
(allow mediaserver_28_0 gpu_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow mediaserver_28_0 video_device_28_0 (dir (ioctl read getattr lock search open)))
(allow mediaserver_28_0 video_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow mediaserver_28_0 property_socket_28_0 (sock_file (write)))
(allow mediaserver_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow mediaserver_28_0 audio_prop_28_0 (property_service (set)))
(allow mediaserver_28_0 audio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow mediaserver_28_0 apk_data_file_28_0 (file (read getattr)))
(allow mediaserver_28_0 asec_apk_file_28_0 (file (read getattr)))
(allow mediaserver_28_0 ringtone_file_28_0 (file (read getattr)))
(allow mediaserver_28_0 radio_data_file_28_0 (file (read getattr)))
(allow mediaserver_28_0 appdomain (fifo_file (read write getattr)))
(allow mediaserver_28_0 rpmsg_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow mediaserver_28_0 system_server_28_0 (fifo_file (ioctl read getattr lock map open)))
(allow mediaserver_28_0 media_rw_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow mediaserver_28_0 media_rw_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow mediaserver_28_0 media_rw_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow mediaserver_28_0 app_fuse_file_28_0 (file (read getattr)))
(allow mediaserver_28_0 qtaguid_proc_28_0 (file (ioctl read write getattr lock append map open)))
(allow mediaserver_28_0 qtaguid_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow mediaserver_28_0 drmserver_socket_28_0 (sock_file (write)))
(allow mediaserver_28_0 drmserver_28_0 (unix_stream_socket (connectto)))
(allow mediaserver_28_0 bluetooth_socket_28_0 (sock_file (write)))
(allow mediaserver_28_0 bluetooth_28_0 (unix_stream_socket (connectto)))
(allow mediaserver_28_0 mediaserver_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_255_28_0 mediaserver_service_28_0 (service_manager (add)))
(allow mediaserver_28_0 activity_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 appops_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 audioserver_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 cameraserver_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 batterystats_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 drmserver_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 mediaextractor_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 mediacodec_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 mediametrics_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 media_session_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 permission_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 power_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 processinfo_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 scheduling_policy_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 surfaceflinger_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 mediadrmserver_service_28_0 (service_manager (find)))
(allow mediaserver_28_0 hidl_token_hwservice_28_0 (hwservice_manager (find)))
(allow mediaserver_28_0 oemfs_28_0 (dir (search)))
(allow mediaserver_28_0 oemfs_28_0 (file (ioctl read getattr lock map open)))
(allow drmserver_28_0 mediaserver_28_0 (dir (search)))
(allow drmserver_28_0 mediaserver_28_0 (file (read open)))
(allow drmserver_28_0 mediaserver_28_0 (process (getattr)))
(allow mediaserver_28_0 drmserver_28_0 (drmservice (consumeRights setPlaybackStatus openDecryptSession closeDecryptSession initializeDecryptUnit decrypt finalizeDecryptUnit pread)))
(allowx mediaserver_28_0 self (ioctl tcp_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx mediaserver_28_0 self (ioctl udp_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx mediaserver_28_0 self (ioctl rawip_socket (((range 0x5401 0x5403)) 0x540b ((range 0x540e 0x5411)) ((range 0x5413 0x5414)) 0x5451)))
(allowx mediaserver_28_0 self (ioctl tcp_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx mediaserver_28_0 self (ioctl udp_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx mediaserver_28_0 self (ioctl rawip_socket (((range 0x8906 0x8907)) 0x8910 ((range 0x8912 0x8913)) 0x8915 0x8917 0x8919 0x891b 0x8921 0x8933 0x8938 0x8942)))
(allowx mediaserver_28_0 self (ioctl tcp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(allowx mediaserver_28_0 self (ioctl udp_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(allowx mediaserver_28_0 self (ioctl rawip_socket (0x8b01 0x8b05 0x8b07 0x8b09 0x8b0b 0x8b0d 0x8b0f ((range 0x8b11 0x8b13)) 0x8b21 0x8b23 0x8b25 0x8b27 0x8b29 0x8b2d)))
(allow mediaserver_28_0 media_rw_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow mediaserver_28_0 media_rw_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow mediaserver_28_0 preloads_media_file_28_0 (file (ioctl read getattr)))
(allow mediaserver_28_0 ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow mediaserver_28_0 hal_graphics_allocator (fd (use)))
(allow mediaserver_28_0 hal_graphics_composer (fd (use)))
(allow mediaserver_28_0 hal_camera (fd (use)))
(allow mediaserver_28_0 system_server_28_0 (fd (use)))
(allow mediaserver_28_0 mediacodec_28_0 (binder (call transfer)))
(allow mediacodec_28_0 mediaserver_28_0 (binder (transfer)))
(allow mediaserver_28_0 mediacodec_28_0 (fd (use)))
(neverallow mediaserver_28_0 fs_type (file (execute_no_trans)))
(neverallow mediaserver_28_0 file_type (file (execute_no_trans)))
(neverallowx mediaserver_28_0 domain (ioctl tcp_socket (0x6900 0x6902)))
(neverallowx mediaserver_28_0 domain (ioctl udp_socket (0x6900 0x6902)))
(neverallowx mediaserver_28_0 domain (ioctl rawip_socket (0x6900 0x6902)))
(neverallowx mediaserver_28_0 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_28_0 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_28_0 domain (ioctl rawip_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx mediaserver_28_0 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_28_0 domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(neverallowx mediaserver_28_0 domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(allow modprobe_28_0 proc_modules_28_0 (file (ioctl read getattr lock map open)))
(allow modprobe_28_0 self (capability (sys_module)))
(allow modprobe_28_0 self (cap_userns (sys_module)))
(allow modprobe_28_0 kernel_28_0 (key (search)))
(allow mtp_28_0 self (socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow mtp_28_0 self (capability (net_raw)))
(allow mtp_28_0 self (cap_userns (net_raw)))
(allow mtp_28_0 ppp_28_0 (process (signal)))
(allow mtp_28_0 vpn_data_file_28_0 (dir (search)))
(allowx netd_28_0 self (ioctl udp_socket (0x6900 0x6902)))
(allowx netd_28_0 self (ioctl udp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(allowx netd_28_0 self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(allow netd_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow netd_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow netd_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow netd_28_0 system_server_28_0 (fd (use)))
(allow netd_28_0 self (capability (kill net_admin net_raw)))
(allow netd_28_0 self (cap_userns (kill net_admin net_raw)))
(dontaudit netd_28_0 self (capability (fsetid)))
(dontaudit netd_28_0 self (cap_userns (fsetid)))
(allow netd_28_0 self (netlink_kobject_uevent_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow netd_28_0 self (netlink_route_socket (nlmsg_write)))
(allow netd_28_0 self (netlink_nflog_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow netd_28_0 self (netlink_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow netd_28_0 self (netlink_tcpdiag_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown nlmsg_read nlmsg_write)))
(allow netd_28_0 self (netlink_generic_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow netd_28_0 self (netlink_netfilter_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow netd_28_0 shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow netd_28_0 system_file_28_0 (file (getattr map execute execute_no_trans)))
(allow netd_28_0 devpts_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow netd_28_0 system_file_28_0 (file (lock)))
(allow netd_28_0 qtaguid_proc_28_0 (file (ioctl read write getattr lock append map open)))
(allow netd_28_0 qtaguid_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow netd_28_0 proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow netd_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow netd_28_0 proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow netd_28_0 proc_net_28_0 (file (ioctl read write getattr lock append map open)))
(allow netd_28_0 sysfs_28_0 (dir (ioctl read getattr lock search open)))
(allow netd_28_0 sysfs_net_28_0 (dir (ioctl read getattr lock search open)))
(allow netd_28_0 sysfs_net_28_0 (file (ioctl read getattr lock map open)))
(allow netd_28_0 sysfs_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow netd_28_0 sysfs_net_28_0 (file (write lock append map open)))
(allow netd_28_0 sysfs_usb_28_0 (file (write)))
(allow netd_28_0 fs_bpf_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow netd_28_0 fs_bpf_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow netd_28_0 self (capability (chown dac_override)))
(allow netd_28_0 self (cap_userns (chown dac_override)))
(allow netd_28_0 net_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow netd_28_0 net_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow netd_28_0 self (capability (fowner)))
(allow netd_28_0 self (cap_userns (fowner)))
(allow netd_28_0 system_file_28_0 (file (lock)))
(allow netd_28_0 dnsmasq_28_0 (process (signal)))
(allow netd_28_0 clatd_28_0 (process (signal)))
(allow netd_28_0 property_socket_28_0 (sock_file (write)))
(allow netd_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow netd_28_0 ctl_mdnsd_prop_28_0 (property_service (set)))
(allow netd_28_0 ctl_mdnsd_prop_28_0 (file (ioctl read getattr lock map open)))
(allow netd_28_0 property_socket_28_0 (sock_file (write)))
(allow netd_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow netd_28_0 netd_stable_secret_prop_28_0 (property_service (set)))
(allow netd_28_0 netd_stable_secret_prop_28_0 (file (ioctl read getattr lock map open)))
(allow netd_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 netd_28_0 (dir (search)))
(allow servicemanager_28_0 netd_28_0 (file (read open)))
(allow servicemanager_28_0 netd_28_0 (process (getattr)))
(allow netd_28_0 netd_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_256_28_0 netd_service_28_0 (service_manager (add)))
(allow netd_28_0 dumpstate_28_0 (fifo_file (write getattr)))
(allow netd_28_0 system_server_28_0 (binder (call)))
(allow netd_28_0 permission_service_28_0 (service_manager (find)))
(allow netd_28_0 netd_listener_service_28_0 (service_manager (find)))
(allow netd_28_0 netdomain (tcp_socket (read write getattr setattr getopt setopt)))
(allow netd_28_0 netdomain (udp_socket (read write getattr setattr getopt setopt)))
(allow netd_28_0 netdomain (rawip_socket (read write getattr setattr getopt setopt)))
(allow netd_28_0 netdomain (tun_socket (read write getattr setattr getopt setopt)))
(allow netd_28_0 netdomain (fd (use)))
(allow netd_28_0 self (netlink_xfrm_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown nlmsg_read nlmsg_write)))
(allow netd_28_0 self (bpf (map_create map_read map_write)))
(allow netd_28_0 system_net_netd_hwservice_28_0 (hwservice_manager (add find)))
(allow netd_28_0 hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_256_28_0 system_net_netd_hwservice_28_0 (hwservice_manager (add)))
(allow netd_28_0 hwservicemanager_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 netd_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 netd_28_0 (dir (search)))
(allow hwservicemanager_28_0 netd_28_0 (file (read open)))
(allow hwservicemanager_28_0 netd_28_0 (process (getattr)))
(allow netd_28_0 hwservicemanager_prop_28_0 (file (ioctl read getattr lock map open)))
(neverallow netd_28_0 dev_type (blk_file (read write)))
(neverallow netd_28_0 domain (process (ptrace)))
(neverallow netd_28_0 system_file_28_0 (file (write)))
(neverallow netd_28_0 system_file_28_0 (dir (write)))
(neverallow netd_28_0 system_file_28_0 (lnk_file (write)))
(neverallow netd_28_0 system_file_28_0 (chr_file (write)))
(neverallow netd_28_0 system_file_28_0 (blk_file (write)))
(neverallow netd_28_0 system_file_28_0 (sock_file (write)))
(neverallow netd_28_0 system_file_28_0 (fifo_file (write)))
(neverallow netd_28_0 system_data_file_28_0 (file (write)))
(neverallow netd_28_0 system_data_file_28_0 (dir (write)))
(neverallow netd_28_0 system_data_file_28_0 (lnk_file (write)))
(neverallow netd_28_0 system_data_file_28_0 (chr_file (write)))
(neverallow netd_28_0 system_data_file_28_0 (blk_file (write)))
(neverallow netd_28_0 system_data_file_28_0 (sock_file (write)))
(neverallow netd_28_0 system_data_file_28_0 (fifo_file (write)))
(neverallow netd_28_0 app_data_file_28_0 (file (write)))
(neverallow netd_28_0 app_data_file_28_0 (dir (write)))
(neverallow netd_28_0 app_data_file_28_0 (lnk_file (write)))
(neverallow netd_28_0 app_data_file_28_0 (chr_file (write)))
(neverallow netd_28_0 app_data_file_28_0 (blk_file (write)))
(neverallow netd_28_0 app_data_file_28_0 (sock_file (write)))
(neverallow netd_28_0 app_data_file_28_0 (fifo_file (write)))
(neverallow base_typeattr_257_28_0 netd_service_28_0 (service_manager (find)))
(neverallow base_typeattr_256_28_0 netd_28_0 (bpf (map_create)))
(neverallow appdomain netd_28_0 (binder (call)))
(neverallow netd_28_0 base_typeattr_49_28_0 (binder (call)))
(neverallow base_typeattr_258_28_0 netd_stable_secret_prop_28_0 (file (ioctl read getattr lock map open)))
(neverallow base_typeattr_259_28_0 netd_stable_secret_prop_28_0 (property_service (set)))
(neverallow domain netutils_wrapper_exec_28_0 (file (execute_no_trans)))
(allow otapreopt_chroot_28_0 postinstall_file_28_0 (dir (mounton search)))
(allow otapreopt_chroot_28_0 self (capability (sys_chroot sys_admin)))
(allow otapreopt_chroot_28_0 self (cap_userns (sys_chroot sys_admin)))
(allow otapreopt_chroot_28_0 block_device_28_0 (dir (search)))
(allow otapreopt_chroot_28_0 labeledfs_28_0 (filesystem (mount)))
(dontaudit otapreopt_chroot_28_0 kernel_28_0 (process (setsched)))
(allow otapreopt_chroot_28_0 postinstall_28_0 (fd (use)))
(allow otapreopt_chroot_28_0 update_engine_28_0 (fd (use)))
(allow otapreopt_chroot_28_0 update_engine_28_0 (fifo_file (write)))
(allow otapreopt_slot_28_0 ota_data_file_28_0 (dir (ioctl read write getattr lock rename add_name remove_name reparent search rmdir open)))
(allow otapreopt_slot_28_0 ota_data_file_28_0 (file (getattr)))
(allow otapreopt_slot_28_0 ota_data_file_28_0 (lnk_file (getattr)))
(allow otapreopt_slot_28_0 ota_data_file_28_0 (lnk_file (read)))
(allow otapreopt_slot_28_0 dalvikcache_data_file_28_0 (dir (read write getattr add_name remove_name search rmdir open)))
(allow otapreopt_slot_28_0 dalvikcache_data_file_28_0 (file (getattr unlink)))
(allow otapreopt_slot_28_0 dalvikcache_data_file_28_0 (lnk_file (read getattr unlink)))
(allow otapreopt_slot_28_0 shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow otapreopt_slot_28_0 toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow performanced_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 performanced_28_0 (dir (search)))
(allow servicemanager_28_0 performanced_28_0 (file (read open)))
(allow servicemanager_28_0 performanced_28_0 (process (getattr)))
(allow performanced_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 performanced_28_0 (binder (transfer)))
(allow performanced_28_0 system_server_28_0 (fd (use)))
(allow performanced_28_0 permission_service_28_0 (service_manager (find)))
(allow init_28_0 pdx_performance_client_endpoint_socket_type (unix_stream_socket (create bind)))
(allow performanced_28_0 pdx_performance_client_endpoint_socket_type (unix_stream_socket (read write getattr setattr lock append listen accept getopt setopt shutdown)))
(allow performanced_28_0 self (process (setsockcreate)))
(allow performanced_28_0 pdx_performance_client_channel_socket_type (unix_stream_socket (ioctl read write create getattr setattr lock append bind connect listen accept getopt setopt shutdown)))
(neverallow base_typeattr_260_28_0 pdx_performance_client_endpoint_socket_type (unix_stream_socket (listen accept)))
(allow performanced_28_0 self (capability (setgid setuid sys_nice)))
(allow performanced_28_0 self (cap_userns (setgid setuid sys_nice)))
(allow performanced_28_0 appdomain (dir (ioctl read getattr lock search open)))
(allow performanced_28_0 bufferhubd_28_0 (dir (ioctl read getattr lock search open)))
(allow performanced_28_0 kernel_28_0 (dir (ioctl read getattr lock search open)))
(allow performanced_28_0 surfaceflinger_28_0 (dir (ioctl read getattr lock search open)))
(allow performanced_28_0 appdomain (file (ioctl read getattr lock map open)))
(allow performanced_28_0 appdomain (lnk_file (ioctl read getattr lock map open)))
(allow performanced_28_0 bufferhubd_28_0 (file (ioctl read getattr lock map open)))
(allow performanced_28_0 bufferhubd_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow performanced_28_0 kernel_28_0 (file (ioctl read getattr lock map open)))
(allow performanced_28_0 kernel_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow performanced_28_0 surfaceflinger_28_0 (file (ioctl read getattr lock map open)))
(allow performanced_28_0 surfaceflinger_28_0 (lnk_file (ioctl read getattr lock map open)))
(dontaudit performanced_28_0 domain (dir (read)))
(allow performanced_28_0 appdomain (process (setsched)))
(allow performanced_28_0 bufferhubd_28_0 (process (setsched)))
(allow performanced_28_0 kernel_28_0 (process (setsched)))
(allow performanced_28_0 surfaceflinger_28_0 (process (setsched)))
(dontaudit performanced_28_0 domain (dir (open)))
(dontaudit performanced_28_0 domain (file (read getattr open)))
(allow performanced_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow performanced_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow performanced_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 sysfs_type (dir (search)))
(allow perfprofd_28_0 sysfs_devices_system_cpu_28_0 (file (ioctl read write getattr lock append map open)))
(allow perfprofd_28_0 system_file_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow perfprofd_28_0 app_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 app_data_file_28_0 (dir (search)))
(allow perfprofd_28_0 self (capability (dac_override)))
(allow perfprofd_28_0 self (cap_userns (dac_override)))
(allow perfprofd_28_0 perfprofd_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow perfprofd_28_0 perfprofd_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow perfprofd_28_0 logcat_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow perfprofd_28_0 logdr_socket_28_0 (sock_file (write)))
(allow perfprofd_28_0 logd_28_0 (unix_stream_socket (connectto)))
(allow perfprofd_28_0 logdw_socket_28_0 (sock_file (write)))
(allow perfprofd_28_0 logd_28_0 (unix_dgram_socket (sendto)))
(allow perfprofd_28_0 pmsg_device_28_0 (chr_file (write lock append map open)))
(allow perfprofd_28_0 sysfs_wake_lock_28_0 (file (ioctl read write getattr lock append map open)))
(allow perfprofd_28_0 self (capability2 (block_suspend)))
(allow perfprofd_28_0 self (cap2_userns (block_suspend)))
(allow perfprofd_28_0 sysfs_thermal_28_0 (dir (ioctl read getattr lock search open)))
(allow perfprofd_28_0 sysfs_batteryinfo_28_0 (dir (ioctl read getattr lock search open)))
(allow perfprofd_28_0 sysfs_batteryinfo_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 sysfs_batteryinfo_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 sysfs_kernel_notes_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 proc_loadavg_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 proc_stat_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 proc_modules_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 proc_perf_28_0 (file (write)))
(dontaudit perfprofd_28_0 proc_security_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(allow perfprofd_28_0 self (capability (sys_admin)))
(allow perfprofd_28_0 self (cap_userns (sys_admin)))
(allow perfprofd_28_0 domain (dir (ioctl read getattr lock search open)))
(allow perfprofd_28_0 domain (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 domain (lnk_file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 self (capability (sys_ptrace sys_resource)))
(allow perfprofd_28_0 self (cap_userns (sys_ptrace sys_resource)))
(neverallow perfprofd_28_0 domain (process (ptrace)))
(allow perfprofd_28_0 exec_type (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 apk_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow perfprofd_28_0 apk_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 apk_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 dalvikcache_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow perfprofd_28_0 dalvikcache_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 dalvikcache_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 vendor_file_28_0 (dir (ioctl read getattr lock search open)))
(allow perfprofd_28_0 vendor_file_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 vendor_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 vendor_app_file_28_0 (dir (ioctl read getattr lock search open)))
(allow perfprofd_28_0 vendor_app_file_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 vendor_app_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 property_socket_28_0 (sock_file (write)))
(allow perfprofd_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow perfprofd_28_0 shell_prop_28_0 (property_service (set)))
(allow perfprofd_28_0 shell_prop_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 debugfs_tracing_28_0 (dir (ioctl read getattr lock search open)))
(allow perfprofd_28_0 debugfs_tracing_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 debugfs_tracing_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 debugfs_tracing_debug_28_0 (dir (ioctl read getattr lock search open)))
(allow perfprofd_28_0 debugfs_tracing_debug_28_0 (file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 debugfs_tracing_debug_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow perfprofd_28_0 shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow perfprofd_28_0 self (capability (ipc_lock)))
(allow perfprofd_28_0 self (cap_userns (ipc_lock)))
(dontaudit perfprofd_28_0 shell_data_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(dontaudit perfprofd_28_0 shell_data_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(allow perfprofd_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 perfprofd_28_0 (dir (search)))
(allow servicemanager_28_0 perfprofd_28_0 (file (read open)))
(allow servicemanager_28_0 perfprofd_28_0 (process (getattr)))
(allow perfprofd_28_0 perfprofd_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_261_28_0 perfprofd_service_28_0 (service_manager (add)))
(allow perfprofd_28_0 devpts_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow perfprofd_28_0 su_28_0 (unix_stream_socket (read write getattr sendto)))
(allow perfprofd_28_0 su_28_0 (fifo_file (ioctl read getattr lock map open)))
(allow perfprofd_28_0 dropbox_service_28_0 (service_manager (find)))
(allow perfprofd_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 perfprofd_28_0 (binder (transfer)))
(allow perfprofd_28_0 system_server_28_0 (fd (use)))
(allow postinstall_28_0 update_engine_common (fd (use)))
(allow postinstall_28_0 update_engine_common (fifo_file (ioctl read write getattr lock append map open)))
(allow postinstall_28_0 postinstall_file_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow postinstall_28_0 postinstall_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow postinstall_28_0 postinstall_file_28_0 (dir (ioctl read getattr lock search open)))
(allow postinstall_28_0 shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow postinstall_28_0 system_file_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow postinstall_28_0 toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow postinstall_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 postinstall_28_0 (dir (search)))
(allow servicemanager_28_0 postinstall_28_0 (file (read open)))
(allow servicemanager_28_0 postinstall_28_0 (process (getattr)))
(allow postinstall_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 postinstall_28_0 (binder (transfer)))
(allow postinstall_28_0 system_server_28_0 (fd (use)))
(allow postinstall_28_0 otadexopt_service_28_0 (service_manager (find)))
(neverallow base_typeattr_101_28_0 postinstall_28_0 (process (transition dyntransition)))
(allow postinstall_dexopt_28_0 self (capability (chown dac_override fowner fsetid setgid setuid)))
(allow postinstall_dexopt_28_0 self (cap_userns (chown dac_override fowner fsetid setgid setuid)))
(allow postinstall_dexopt_28_0 postinstall_file_28_0 (filesystem (getattr)))
(allow postinstall_dexopt_28_0 postinstall_file_28_0 (dir (getattr search)))
(allow postinstall_dexopt_28_0 postinstall_file_28_0 (lnk_file (read getattr)))
(allow postinstall_dexopt_28_0 proc_filesystems_28_0 (file (read getattr open)))
(allow postinstall_dexopt_28_0 tmpfs_28_0 (file (read)))
(allow postinstall_dexopt_28_0 apk_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow postinstall_dexopt_28_0 apk_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow postinstall_dexopt_28_0 apk_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow postinstall_dexopt_28_0 vendor_app_file_28_0 (dir (ioctl read getattr lock search open)))
(allow postinstall_dexopt_28_0 vendor_app_file_28_0 (file (ioctl read getattr lock map open)))
(allow postinstall_dexopt_28_0 vendor_app_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow postinstall_dexopt_28_0 dalvikcache_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow postinstall_dexopt_28_0 dalvikcache_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow postinstall_dexopt_28_0 dalvikcache_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow postinstall_dexopt_28_0 user_profile_data_file_28_0 (dir (getattr search)))
(allow postinstall_dexopt_28_0 user_profile_data_file_28_0 (file (ioctl read getattr lock map open)))
(dontaudit postinstall_dexopt_28_0 user_profile_data_file_28_0 (file (write)))
(allow postinstall_dexopt_28_0 ota_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow postinstall_dexopt_28_0 ota_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow postinstall_dexopt_28_0 ota_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow postinstall_dexopt_28_0 dalvikcache_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow postinstall_dexopt_28_0 dalvikcache_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow postinstall_dexopt_28_0 dalvikcache_data_file_28_0 (dir (relabelto)))
(allow postinstall_dexopt_28_0 dalvikcache_data_file_28_0 (file (relabelto link)))
(allow postinstall_dexopt_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow postinstall_dexopt_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow postinstall_dexopt_28_0 selinuxfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow postinstall_dexopt_28_0 selinuxfs_28_0 (file (write lock append map open)))
(allow postinstall_dexopt_28_0 kernel_28_0 (security (check_context)))
(allow postinstall_dexopt_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow postinstall_dexopt_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow postinstall_dexopt_28_0 selinuxfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow postinstall_dexopt_28_0 selinuxfs_28_0 (file (write lock append map open)))
(allow postinstall_dexopt_28_0 kernel_28_0 (security (compute_av)))
(allow postinstall_dexopt_28_0 self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(allow postinstall_dexopt_28_0 postinstall_28_0 (process (sigchld)))
(allow postinstall_dexopt_28_0 otapreopt_chroot_28_0 (fd (use)))
(allow postinstall_dexopt_28_0 cpuctl_device_28_0 (dir (search)))
(allow ppp_28_0 proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow ppp_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow ppp_28_0 proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow ppp_28_0 mtp_28_0 (socket (ioctl read write getattr setattr lock append bind connect getopt setopt shutdown)))
(allowx ppp_28_0 self (ioctl udp_socket (0x6900 0x6902)))
(allowx ppp_28_0 self (ioctl udp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(allowx ppp_28_0 self (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(allowx ppp_28_0 mtp_28_0 (ioctl socket (((range 0x7436 0x7441)) ((range 0x7446 0x7447)) ((range 0x744b 0x745a)) ((range 0x7480 0x7488)))))
(allow ppp_28_0 mtp_28_0 (unix_dgram_socket (ioctl read write getattr setattr lock append bind connect getopt setopt shutdown)))
(allow ppp_28_0 ppp_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow ppp_28_0 self (capability (net_admin)))
(allow ppp_28_0 self (cap_userns (net_admin)))
(allow ppp_28_0 system_file_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow ppp_28_0 vpn_data_file_28_0 (dir (write lock add_name remove_name search open)))
(allow ppp_28_0 vpn_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow ppp_28_0 mtp_28_0 (fd (use)))
(allow preopt2cachename_28_0 cppreopts_28_0 (fd (use)))
(allow preopt2cachename_28_0 cppreopts_28_0 (fifo_file (read write getattr)))
(allow preopt2cachename_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow profman_28_0 user_profile_data_file_28_0 (file (read write getattr lock)))
(allow profman_28_0 asec_apk_file_28_0 (file (read)))
(allow profman_28_0 apk_data_file_28_0 (file (read getattr)))
(allow profman_28_0 apk_data_file_28_0 (dir (read getattr search)))
(allow profman_28_0 oemfs_28_0 (file (read)))
(allow profman_28_0 tmpfs_28_0 (file (read)))
(allow profman_28_0 profman_dump_data_file_28_0 (file (write)))
(allow profman_28_0 installd_28_0 (fd (use)))
(allow profman_28_0 app_data_file_28_0 (file (read write getattr lock)))
(allow profman_28_0 app_data_file_28_0 (dir (read getattr search)))
(neverallow profman_28_0 app_data_file_28_0 (file (open)))
(neverallow profman_28_0 app_data_file_28_0 (lnk_file (open)))
(neverallow profman_28_0 app_data_file_28_0 (sock_file (open)))
(neverallow profman_28_0 app_data_file_28_0 (fifo_file (open)))
(allow property_type tmpfs_28_0 (filesystem (associate)))
(neverallow base_typeattr_59_28_0 base_typeattr_262_28_0 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_84_28_0 ctl_sigstop_prop_28_0 (property_service (set)))
(dontaudit domain ctl_bootanim_prop_28_0 (property_service (set)))
(dontaudit domain ctl_bugreport_prop_28_0 (property_service (set)))
(dontaudit domain ctl_console_prop_28_0 (property_service (set)))
(dontaudit domain ctl_default_prop_28_0 (property_service (set)))
(dontaudit domain ctl_dumpstate_prop_28_0 (property_service (set)))
(dontaudit domain ctl_fuse_prop_28_0 (property_service (set)))
(dontaudit domain ctl_mdnsd_prop_28_0 (property_service (set)))
(dontaudit domain ctl_rildaemon_prop_28_0 (property_service (set)))
(neverallow base_typeattr_263_28_0 base_typeattr_264_28_0 (property_service (set)))
(neverallow base_typeattr_265_28_0 nfc_prop_28_0 (property_service (set)))
(neverallow base_typeattr_266_28_0 exported_radio_prop_28_0 (property_service (set)))
(neverallow base_typeattr_266_28_0 exported3_radio_prop_28_0 (property_service (set)))
(neverallow base_typeattr_267_28_0 radio_prop_28_0 (property_service (set)))
(neverallow base_typeattr_267_28_0 exported2_radio_prop_28_0 (property_service (set)))
(neverallow base_typeattr_268_28_0 bluetooth_prop_28_0 (property_service (set)))
(neverallow base_typeattr_269_28_0 exported_bluetooth_prop_28_0 (property_service (set)))
(neverallow base_typeattr_270_28_0 wifi_prop_28_0 (property_service (set)))
(neverallow base_typeattr_271_28_0 exported_wifi_prop_28_0 (property_service (set)))
(neverallow base_typeattr_263_28_0 base_typeattr_272_28_0 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_265_28_0 nfc_prop_28_0 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_267_28_0 radio_prop_28_0 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_268_28_0 bluetooth_prop_28_0 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_270_28_0 wifi_prop_28_0 (file (ioctl read write create setattr lock relabelfrom append unlink link rename open)))
(neverallow base_typeattr_273_28_0 base_typeattr_274_28_0 (property_service (set)))
(allowx racoon_28_0 self (ioctl udp_socket (0x8914 0x8916 0x891c)))
(allow racoon_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 racoon_28_0 (dir (search)))
(allow servicemanager_28_0 racoon_28_0 (file (read open)))
(allow servicemanager_28_0 racoon_28_0 (process (getattr)))
(allow racoon_28_0 tun_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow racoon_28_0 cgroup_28_0 (dir (create add_name)))
(allow racoon_28_0 kernel_28_0 (system (module_request)))
(allow racoon_28_0 self (key_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow racoon_28_0 self (tun_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow racoon_28_0 self (capability (net_bind_service net_admin net_raw)))
(allow racoon_28_0 self (cap_userns (net_bind_service net_admin net_raw)))
(allow racoon_28_0 system_file_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow racoon_28_0 vpn_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow racoon_28_0 vpn_data_file_28_0 (dir (write lock add_name remove_name search open)))
(allow keystore_28_0 racoon_28_0 (dir (search)))
(allow keystore_28_0 racoon_28_0 (file (read open)))
(allow keystore_28_0 racoon_28_0 (process (getattr)))
(allow racoon_28_0 keystore_service_28_0 (service_manager (find)))
(allow racoon_28_0 keystore_28_0 (binder (call transfer)))
(allow keystore_28_0 racoon_28_0 (binder (transfer)))
(allow racoon_28_0 keystore_28_0 (fd (use)))
(allow keystore_28_0 racoon_28_0 (binder (call transfer)))
(allow racoon_28_0 keystore_28_0 (binder (transfer)))
(allow keystore_28_0 racoon_28_0 (fd (use)))
(allow racoon_28_0 keystore_28_0 (keystore_key (get sign verify)))
(allow radio_28_0 radio_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow radio_28_0 radio_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow radio_28_0 radio_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow radio_28_0 radio_data_file_28_0 (sock_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow radio_28_0 radio_data_file_28_0 (fifo_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow radio_28_0 alarm_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow radio_28_0 net_data_file_28_0 (dir (search)))
(allow radio_28_0 net_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow radio_28_0 property_socket_28_0 (sock_file (write)))
(allow radio_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow radio_28_0 radio_prop_28_0 (property_service (set)))
(allow radio_28_0 radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow radio_28_0 property_socket_28_0 (sock_file (write)))
(allow radio_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow radio_28_0 exported_radio_prop_28_0 (property_service (set)))
(allow radio_28_0 exported_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow radio_28_0 property_socket_28_0 (sock_file (write)))
(allow radio_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow radio_28_0 exported2_radio_prop_28_0 (property_service (set)))
(allow radio_28_0 exported2_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow radio_28_0 property_socket_28_0 (sock_file (write)))
(allow radio_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow radio_28_0 exported3_radio_prop_28_0 (property_service (set)))
(allow radio_28_0 exported3_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow radio_28_0 property_socket_28_0 (sock_file (write)))
(allow radio_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow radio_28_0 net_radio_prop_28_0 (property_service (set)))
(allow radio_28_0 net_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow radio_28_0 property_socket_28_0 (sock_file (write)))
(allow radio_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow radio_28_0 ctl_rildaemon_prop_28_0 (property_service (set)))
(allow radio_28_0 ctl_rildaemon_prop_28_0 (file (ioctl read getattr lock map open)))
(allow radio_28_0 radio_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_275_28_0 radio_service_28_0 (service_manager (add)))
(allow radio_28_0 audioserver_service_28_0 (service_manager (find)))
(allow radio_28_0 cameraserver_service_28_0 (service_manager (find)))
(allow radio_28_0 drmserver_service_28_0 (service_manager (find)))
(allow radio_28_0 mediaserver_service_28_0 (service_manager (find)))
(allow radio_28_0 nfc_service_28_0 (service_manager (find)))
(allow radio_28_0 app_api_service (service_manager (find)))
(allow radio_28_0 system_api_service (service_manager (find)))
(allow radio_28_0 hwservicemanager_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 radio_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 radio_28_0 (dir (search)))
(allow hwservicemanager_28_0 radio_28_0 (file (read open)))
(allow hwservicemanager_28_0 radio_28_0 (process (getattr)))
(neverallow recovery_28_0 base_typeattr_276_28_0 (file (write create setattr relabelfrom append unlink link rename execute execute_no_trans)))
(neverallow recovery_28_0 base_typeattr_276_28_0 (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
(allow recovery_persist_28_0 pstorefs_28_0 (dir (search)))
(allow recovery_persist_28_0 pstorefs_28_0 (file (ioctl read getattr lock map open)))
(allow recovery_persist_28_0 recovery_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow recovery_persist_28_0 recovery_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(neverallow recovery_persist_28_0 dev_type (blk_file (read write)))
(neverallow recovery_persist_28_0 domain (process (ptrace)))
(neverallow recovery_persist_28_0 system_file_28_0 (file (write)))
(neverallow recovery_persist_28_0 system_file_28_0 (dir (write)))
(neverallow recovery_persist_28_0 system_file_28_0 (lnk_file (write)))
(neverallow recovery_persist_28_0 system_file_28_0 (chr_file (write)))
(neverallow recovery_persist_28_0 system_file_28_0 (blk_file (write)))
(neverallow recovery_persist_28_0 system_file_28_0 (sock_file (write)))
(neverallow recovery_persist_28_0 system_file_28_0 (fifo_file (write)))
(neverallow recovery_persist_28_0 system_data_file_28_0 (file (write)))
(neverallow recovery_persist_28_0 system_data_file_28_0 (dir (write)))
(neverallow recovery_persist_28_0 system_data_file_28_0 (lnk_file (write)))
(neverallow recovery_persist_28_0 system_data_file_28_0 (chr_file (write)))
(neverallow recovery_persist_28_0 system_data_file_28_0 (blk_file (write)))
(neverallow recovery_persist_28_0 system_data_file_28_0 (sock_file (write)))
(neverallow recovery_persist_28_0 system_data_file_28_0 (fifo_file (write)))
(neverallow recovery_persist_28_0 app_data_file_28_0 (file (write)))
(neverallow recovery_persist_28_0 app_data_file_28_0 (dir (write)))
(neverallow recovery_persist_28_0 app_data_file_28_0 (lnk_file (write)))
(neverallow recovery_persist_28_0 app_data_file_28_0 (chr_file (write)))
(neverallow recovery_persist_28_0 app_data_file_28_0 (blk_file (write)))
(neverallow recovery_persist_28_0 app_data_file_28_0 (sock_file (write)))
(neverallow recovery_persist_28_0 app_data_file_28_0 (fifo_file (write)))
(allow recovery_refresh_28_0 pstorefs_28_0 (dir (search)))
(allow recovery_refresh_28_0 pstorefs_28_0 (file (ioctl read getattr lock map open)))
(neverallow recovery_refresh_28_0 dev_type (blk_file (read write)))
(neverallow recovery_refresh_28_0 domain (process (ptrace)))
(neverallow recovery_refresh_28_0 system_file_28_0 (file (write)))
(neverallow recovery_refresh_28_0 system_file_28_0 (dir (write)))
(neverallow recovery_refresh_28_0 system_file_28_0 (lnk_file (write)))
(neverallow recovery_refresh_28_0 system_file_28_0 (chr_file (write)))
(neverallow recovery_refresh_28_0 system_file_28_0 (blk_file (write)))
(neverallow recovery_refresh_28_0 system_file_28_0 (sock_file (write)))
(neverallow recovery_refresh_28_0 system_file_28_0 (fifo_file (write)))
(neverallow recovery_refresh_28_0 system_data_file_28_0 (file (write)))
(neverallow recovery_refresh_28_0 system_data_file_28_0 (dir (write)))
(neverallow recovery_refresh_28_0 system_data_file_28_0 (lnk_file (write)))
(neverallow recovery_refresh_28_0 system_data_file_28_0 (chr_file (write)))
(neverallow recovery_refresh_28_0 system_data_file_28_0 (blk_file (write)))
(neverallow recovery_refresh_28_0 system_data_file_28_0 (sock_file (write)))
(neverallow recovery_refresh_28_0 system_data_file_28_0 (fifo_file (write)))
(neverallow recovery_refresh_28_0 app_data_file_28_0 (file (write)))
(neverallow recovery_refresh_28_0 app_data_file_28_0 (dir (write)))
(neverallow recovery_refresh_28_0 app_data_file_28_0 (lnk_file (write)))
(neverallow recovery_refresh_28_0 app_data_file_28_0 (chr_file (write)))
(neverallow recovery_refresh_28_0 app_data_file_28_0 (blk_file (write)))
(neverallow recovery_refresh_28_0 app_data_file_28_0 (sock_file (write)))
(neverallow recovery_refresh_28_0 app_data_file_28_0 (fifo_file (write)))
(allow runas_28_0 adbd_28_0 (fd (use)))
(allow runas_28_0 adbd_28_0 (process (sigchld)))
(allow runas_28_0 adbd_28_0 (unix_stream_socket (read write)))
(allow runas_28_0 shell_28_0 (fd (use)))
(allow runas_28_0 shell_28_0 (fifo_file (read write)))
(allow runas_28_0 shell_28_0 (unix_stream_socket (read write)))
(allow runas_28_0 devpts_28_0 (chr_file (ioctl read write)))
(allow runas_28_0 shell_data_file_28_0 (file (read write)))
(allow runas_28_0 system_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow runas_28_0 system_data_file_28_0 (lnk_file (getattr)))
(allow runas_28_0 system_data_file_28_0 (lnk_file (read)))
(dontaudit runas_28_0 self (capability (dac_override)))
(dontaudit runas_28_0 self (cap_userns (dac_override)))
(allow runas_28_0 app_data_file_28_0 (dir (getattr search)))
(allow runas_28_0 self (capability (setgid setuid)))
(allow runas_28_0 self (cap_userns (setgid setuid)))
(allow runas_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow runas_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow runas_28_0 selinuxfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow runas_28_0 selinuxfs_28_0 (file (write lock append map open)))
(allow runas_28_0 kernel_28_0 (security (check_context)))
(allow runas_28_0 self (process (setcurrent)))
(allow runas_28_0 base_typeattr_277_28_0 (process (dyntransition)))
(allow runas_28_0 seapp_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(neverallow runas_28_0 self (capability (chown dac_override dac_read_search fowner fsetid kill setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
(neverallow runas_28_0 self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
(neverallow runas_28_0 self (capability2 (mac_override mac_admin syslog wake_alarm block_suspend audit_read)))
(neverallow runas_28_0 self (cap2_userns (mac_override mac_admin syslog wake_alarm block_suspend audit_read)))
(allow sdcardd_28_0 cgroup_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow sdcardd_28_0 fuse_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow sdcardd_28_0 rootfs_28_0 (dir (mounton)))
(allow sdcardd_28_0 sdcardfs_28_0 (filesystem (remount)))
(allow sdcardd_28_0 tmpfs_28_0 (dir (ioctl read getattr lock search open)))
(allow sdcardd_28_0 mnt_media_rw_file_28_0 (dir (ioctl read getattr lock search open)))
(allow sdcardd_28_0 storage_file_28_0 (dir (search)))
(allow sdcardd_28_0 storage_stub_file_28_0 (dir (mounton search)))
(allow sdcardd_28_0 sdcard_type (filesystem (mount unmount)))
(allow sdcardd_28_0 self (capability (dac_override setgid setuid sys_admin sys_resource)))
(allow sdcardd_28_0 self (cap_userns (dac_override setgid setuid sys_admin sys_resource)))
(allow sdcardd_28_0 sdcard_type (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow sdcardd_28_0 sdcard_type (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow sdcardd_28_0 media_rw_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow sdcardd_28_0 media_rw_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow sdcardd_28_0 system_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow sdcardd_28_0 install_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow sdcardd_28_0 vold_28_0 (fd (use)))
(allow sdcardd_28_0 vold_28_0 (fifo_file (read write getattr)))
(allow sdcardd_28_0 mnt_expand_file_28_0 (dir (search)))
(allow sdcardd_28_0 proc_filesystems_28_0 (file (ioctl read getattr lock map open)))
(neverallow init_28_0 sdcardd_exec_28_0 (file (execute)))
(neverallow init_28_0 sdcardd_28_0 (process (transition dyntransition)))
(allow servicemanager_28_0 self (binder (set_context_mgr)))
(allow servicemanager_28_0 base_typeattr_278_28_0 (binder (transfer)))
(allow servicemanager_28_0 service_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow servicemanager_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow servicemanager_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow servicemanager_28_0 selinuxfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow servicemanager_28_0 selinuxfs_28_0 (file (write lock append map open)))
(allow servicemanager_28_0 kernel_28_0 (security (compute_av)))
(allow servicemanager_28_0 self (netlink_selinux_socket (read write create getattr setattr lock relabelfrom relabelto append bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(allow sgdisk_28_0 block_device_28_0 (dir (search)))
(allow sgdisk_28_0 vold_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow sgdisk_28_0 devpts_28_0 (chr_file (ioctl read write getattr)))
(allow sgdisk_28_0 vold_28_0 (fd (use)))
(allow sgdisk_28_0 vold_28_0 (fifo_file (read write getattr)))
(allow sgdisk_28_0 self (capability (sys_admin)))
(allow sgdisk_28_0 self (cap_userns (sys_admin)))
(neverallow base_typeattr_176_28_0 sgdisk_28_0 (process (transition)))
(neverallow base_typeattr_59_28_0 sgdisk_28_0 (process (dyntransition)))
(neverallow sgdisk_28_0 base_typeattr_279_28_0 (file (entrypoint)))
(allow shared_relro_28_0 shared_relro_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow shared_relro_28_0 shared_relro_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow shared_relro_28_0 activity_service_28_0 (service_manager (find)))
(allow shared_relro_28_0 webviewupdate_service_28_0 (service_manager (find)))
(allow shell_28_0 logcat_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow shell_28_0 logdr_socket_28_0 (sock_file (write)))
(allow shell_28_0 logd_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 logd_socket_28_0 (sock_file (write)))
(allow shell_28_0 logd_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 pstorefs_28_0 (dir (search)))
(allow shell_28_0 pstorefs_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 rootfs_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 anr_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 anr_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 shell_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow shell_28_0 shell_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow shell_28_0 shell_data_file_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow shell_28_0 shell_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow shell_28_0 trace_data_file_28_0 (file (ioctl read getattr lock map unlink open)))
(allow shell_28_0 trace_data_file_28_0 (dir (ioctl read write getattr lock remove_name search open)))
(allow shell_28_0 profman_dump_data_file_28_0 (dir (ioctl read write getattr lock remove_name search open)))
(allow shell_28_0 profman_dump_data_file_28_0 (file (ioctl read getattr lock map unlink open)))
(allow shell_28_0 nativetest_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 nativetest_data_file_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow shell_28_0 dumpstate_socket_28_0 (sock_file (write)))
(allow shell_28_0 dumpstate_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 devpts_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow shell_28_0 tty_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow shell_28_0 console_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow shell_28_0 input_device_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 input_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow shell_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 system_file_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 system_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow shell_28_0 system_file_28_0 (file (getattr map execute execute_no_trans)))
(allow shell_28_0 toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow shell_28_0 tzdatacheck_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow shell_28_0 shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow shell_28_0 zygote_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow shell_28_0 apk_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 apk_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 apk_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 shell_prop_28_0 (property_service (set)))
(allow shell_28_0 shell_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 ctl_bugreport_prop_28_0 (property_service (set)))
(allow shell_28_0 ctl_bugreport_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 ctl_dumpstate_prop_28_0 (property_service (set)))
(allow shell_28_0 ctl_dumpstate_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 dumpstate_prop_28_0 (property_service (set)))
(allow shell_28_0 dumpstate_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 exported_dumpstate_prop_28_0 (property_service (set)))
(allow shell_28_0 exported_dumpstate_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 debug_prop_28_0 (property_service (set)))
(allow shell_28_0 debug_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 powerctl_prop_28_0 (property_service (set)))
(allow shell_28_0 powerctl_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 log_tag_prop_28_0 (property_service (set)))
(allow shell_28_0 log_tag_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 wifi_log_prop_28_0 (property_service (set)))
(allow shell_28_0 wifi_log_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 traced_enabled_prop_28_0 (property_service (set)))
(allow shell_28_0 traced_enabled_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 log_prop_28_0 (property_service (set)))
(allow shell_28_0 log_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 logpersistd_logging_prop_28_0 (property_service (set)))
(allow shell_28_0 logpersistd_logging_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 boottrace_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow shell_28_0 boottrace_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow shell_28_0 property_socket_28_0 (sock_file (write)))
(allow shell_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow shell_28_0 persist_debug_prop_28_0 (property_service (set)))
(allow shell_28_0 persist_debug_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 serialno_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 vendor_security_patch_level_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 device_logging_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 bootloader_boot_reason_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 last_boot_reason_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 system_boot_reason_prop_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 servicemanager_28_0 (service_manager (list)))
(allow shell_28_0 base_typeattr_280_28_0 (service_manager (find)))
(allow shell_28_0 dumpstate_28_0 (binder (call)))
(allow shell_28_0 hwservicemanager_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 shell_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 shell_28_0 (dir (search)))
(allow hwservicemanager_28_0 shell_28_0 (file (read open)))
(allow hwservicemanager_28_0 shell_28_0 (process (getattr)))
(allow shell_28_0 hwservicemanager_28_0 (hwservice_manager (list)))
(allow shell_28_0 proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_asound_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_filesystems_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_interrupts_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_meminfo_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_modules_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_pid_max_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_stat_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_timer_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_uptime_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_version_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 proc_zoneinfo_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 sysfs_net_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 cgroup_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 cgroup_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 cgroup_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow shell_28_0 domain (dir (read getattr search open)))
(allow shell_28_0 domain (file (read getattr open)))
(allow shell_28_0 domain (lnk_file (read getattr open)))
(allow shell_28_0 labeledfs_28_0 (filesystem (getattr)))
(allow shell_28_0 proc_28_0 (filesystem (getattr)))
(allow shell_28_0 device_28_0 (dir (getattr)))
(allow shell_28_0 domain (process (getattr)))
(allow shell_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 bootchart_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow shell_28_0 bootchart_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow shell_28_0 self (process (ptrace)))
(allow shell_28_0 sysfs_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 sysfs_batteryinfo_28_0 (dir (ioctl read getattr lock search open)))
(allow shell_28_0 sysfs_batteryinfo_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 ion_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow shell_28_0 dev_type (dir (ioctl read getattr lock search open)))
(allow shell_28_0 dev_type (chr_file (getattr)))
(allow shell_28_0 proc_28_0 (lnk_file (getattr)))
(allow shell_28_0 dev_type (blk_file (getattr)))
(allow shell_28_0 file_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 property_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 seapp_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 service_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 sepolicy_file_28_0 (file (ioctl read getattr lock map open)))
(allow shell_28_0 vendor_shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(neverallow shell_28_0 file_type (file (link)))
(neverallowx shell_28_0 domain (ioctl tcp_socket (0x6900 0x6902)))
(neverallowx shell_28_0 domain (ioctl udp_socket (0x6900 0x6902)))
(neverallowx shell_28_0 domain (ioctl rawip_socket (0x6900 0x6902)))
(neverallowx shell_28_0 domain (ioctl tcp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx shell_28_0 domain (ioctl udp_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx shell_28_0 domain (ioctl rawip_socket (((range 0x890b 0x890d)) 0x8911 0x8914 0x8916 0x8918 0x891a ((range 0x891c 0x8920)) ((range 0x8922 0x8927)) 0x8929 ((range 0x8930 0x8932)) ((range 0x8934 0x8937)) 0x8939 ((range 0x8940 0x8941)) 0x8943 ((range 0x8946 0x894b)) ((range 0x8953 0x8955)) ((range 0x8960 0x8962)) ((range 0x8970 0x8971)) ((range 0x8980 0x8983)) ((range 0x8990 0x8995)) ((range 0x89a0 0x89a3)) 0x89b0 ((range 0x89e0 0x89ff)))))
(neverallowx shell_28_0 domain (ioctl tcp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(neverallowx shell_28_0 domain (ioctl udp_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(neverallowx shell_28_0 domain (ioctl rawip_socket (0x8b00 0x8b02 0x8b04 0x8b06 0x8b08 0x8b0a 0x8b0c 0x8b0e 0x8b10 ((range 0x8b14 0x8b1d)) 0x8b20 0x8b22 0x8b24 0x8b26 0x8b28 ((range 0x8b2a 0x8b2c)) ((range 0x8b30 0x8b36)) ((range 0x8be0 0x8bff)))))
(neverallow shell_28_0 hw_random_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow shell_28_0 kmem_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow shell_28_0 port_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow shell_28_0 fuse_device_28_0 (chr_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow shell_28_0 dev_type (blk_file (ioctl read write create setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(allow slideshow_28_0 kmsg_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow slideshow_28_0 sysfs_wake_lock_28_0 (file (ioctl read write getattr lock append map open)))
(allow slideshow_28_0 self (capability2 (block_suspend)))
(allow slideshow_28_0 self (cap2_userns (block_suspend)))
(allow slideshow_28_0 device_28_0 (dir (ioctl read getattr lock search open)))
(allow slideshow_28_0 self (capability (sys_tty_config)))
(allow slideshow_28_0 self (cap_userns (sys_tty_config)))
(allow slideshow_28_0 graphics_device_28_0 (dir (ioctl read getattr lock search open)))
(allow slideshow_28_0 graphics_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow slideshow_28_0 input_device_28_0 (dir (ioctl read getattr lock search open)))
(allow slideshow_28_0 input_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow slideshow_28_0 tty_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow su_28_0 vndbinder_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow su_28_0 vndservicemanager_28_0 (binder (call transfer)))
(allow vndservicemanager_28_0 su_28_0 (dir (search)))
(allow vndservicemanager_28_0 su_28_0 (file (read open)))
(allow vndservicemanager_28_0 su_28_0 (process (getattr)))
(dontaudit su_28_0 self (capability (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
(dontaudit su_28_0 self (capability2 (mac_override mac_admin syslog wake_alarm block_suspend audit_read)))
(dontaudit su_28_0 self (cap_userns (chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap)))
(dontaudit su_28_0 self (cap2_userns (mac_override mac_admin syslog wake_alarm block_suspend audit_read)))
(dontaudit su_28_0 kernel_28_0 (security (compute_av compute_create compute_member check_context load_policy compute_relabel compute_user setenforce setbool setsecparam setcheckreqprot read_policy validate_trans)))
(dontaudit su_28_0 kernel_28_0 (system (ipc_info syslog_read syslog_mod syslog_console module_request module_load)))
(dontaudit su_28_0 self (memprotect (mmap_zero)))
(dontaudit su_28_0 domain (process (fork transition sigchld sigkill sigstop signull signal ptrace getsched setsched getsession getpgid setpgid getcap setcap share getattr setexec setfscreate noatsecure siginh setrlimit rlimitinh dyntransition setcurrent execmem execstack execheap setkeycreate setsockcreate getrlimit)))
(dontaudit su_28_0 domain (fd (use)))
(dontaudit su_28_0 domain (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(dontaudit su_28_0 domain (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 domain (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(dontaudit su_28_0 domain (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 domain (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 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)))
(dontaudit su_28_0 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)))
(dontaudit su_28_0 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)))
(dontaudit su_28_0 domain (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (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)))
(dontaudit su_28_0 domain (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)))
(dontaudit su_28_0 domain (netlink_route_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
(dontaudit su_28_0 domain (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
(dontaudit su_28_0 domain (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
(dontaudit su_28_0 domain (netlink_selinux_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
(dontaudit su_28_0 domain (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 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)))
(dontaudit su_28_0 domain (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
(dontaudit su_28_0 domain (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(dontaudit su_28_0 domain (icmp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(dontaudit su_28_0 domain (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (vsock_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 domain (sem (create destroy getattr setattr read write associate unix_read unix_write)))
(dontaudit su_28_0 domain (msgq (create destroy getattr setattr read write associate unix_read unix_write enqueue)))
(dontaudit su_28_0 domain (shm (create destroy getattr setattr read write associate unix_read unix_write lock)))
(dontaudit su_28_0 domain (ipc (create destroy getattr setattr read write associate unix_read unix_write)))
(dontaudit su_28_0 domain (key (view read write search link setattr create)))
(dontaudit su_28_0 fs_type (filesystem (mount remount unmount getattr relabelfrom relabelto associate quotamod quotaget)))
(dontaudit su_28_0 dev_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(dontaudit su_28_0 dev_type (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(dontaudit su_28_0 dev_type (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 dev_type (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(dontaudit su_28_0 dev_type (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 dev_type (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 dev_type (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 fs_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(dontaudit su_28_0 fs_type (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(dontaudit su_28_0 fs_type (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 fs_type (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(dontaudit su_28_0 fs_type (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 fs_type (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 fs_type (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 file_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(dontaudit su_28_0 file_type (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(dontaudit su_28_0 file_type (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 file_type (chr_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(dontaudit su_28_0 file_type (blk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 file_type (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 file_type (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(dontaudit su_28_0 node_type (node (recvfrom sendto)))
(dontaudit su_28_0 node_type (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)))
(dontaudit su_28_0 node_type (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)))
(dontaudit su_28_0 node_type (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)))
(dontaudit su_28_0 netif_type (netif (ingress egress)))
(dontaudit su_28_0 port_type (socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (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)))
(dontaudit su_28_0 port_type (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)))
(dontaudit su_28_0 port_type (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)))
(dontaudit su_28_0 port_type (netlink_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (packet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (key_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (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)))
(dontaudit su_28_0 port_type (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)))
(dontaudit su_28_0 port_type (netlink_route_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
(dontaudit su_28_0 port_type (netlink_tcpdiag_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
(dontaudit su_28_0 port_type (netlink_nflog_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (netlink_xfrm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write)))
(dontaudit su_28_0 port_type (netlink_selinux_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (netlink_audit_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind nlmsg_read nlmsg_write nlmsg_relay nlmsg_readpriv nlmsg_tty_audit)))
(dontaudit su_28_0 port_type (netlink_dnrt_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (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)))
(dontaudit su_28_0 port_type (appletalk_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (tun_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind attach_queue)))
(dontaudit su_28_0 port_type (netlink_iscsi_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (netlink_fib_lookup_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (netlink_connector_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (netlink_netfilter_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (netlink_generic_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (netlink_scsitransport_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (netlink_rdma_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (netlink_crypto_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (sctp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(dontaudit su_28_0 port_type (icmp_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind node_bind)))
(dontaudit su_28_0 port_type (ax25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (ipx_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (netrom_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (atmpvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (x25_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (rose_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (decnet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (atmsvc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (rds_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (irda_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (pppox_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (llc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (can_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (tipc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (bluetooth_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (iucv_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (rxrpc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (isdn_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (phonet_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (ieee802154_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (caif_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (alg_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (nfc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (vsock_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (kcm_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (qipcrtr_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (smc_socket (ioctl read write create getattr setattr lock relabelfrom relabelto append map bind connect listen accept getopt setopt shutdown recvfrom sendto name_bind)))
(dontaudit su_28_0 port_type (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)))
(dontaudit su_28_0 port_type (dccp_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)))
(dontaudit su_28_0 domain (peer (recv)))
(dontaudit su_28_0 domain (binder (impersonate call set_context_mgr transfer)))
(dontaudit su_28_0 property_type (property_service (set)))
(dontaudit su_28_0 property_type (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(dontaudit su_28_0 service_manager_type (service_manager (add find list)))
(dontaudit su_28_0 hwservice_manager_type (hwservice_manager (add find list)))
(dontaudit su_28_0 vndservice_manager_type (service_manager (add find list)))
(dontaudit su_28_0 servicemanager_28_0 (service_manager (list)))
(dontaudit su_28_0 hwservicemanager_28_0 (hwservice_manager (list)))
(dontaudit su_28_0 vndservicemanager_28_0 (service_manager (list)))
(dontaudit su_28_0 keystore_28_0 (keystore_key (get_state get insert delete exist list reset password lock unlock is_empty sign verify grant duplicate clear_uid add_auth user_changed gen_unique_id)))
(dontaudit su_28_0 domain (drmservice (consumeRights setPlaybackStatus openDecryptSession closeDecryptSession initializeDecryptUnit decrypt finalizeDecryptUnit pread)))
(dontaudit su_28_0 unlabeled_28_0 (filesystem (mount remount unmount getattr relabelfrom relabelto associate quotamod quotaget)))
(dontaudit su_28_0 postinstall_file_28_0 (filesystem (mount remount unmount getattr relabelfrom relabelto associate quotamod quotaget)))
(allow tee_28_0 fingerprint_vendor_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow tee_28_0 fingerprint_vendor_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow thermalserviced_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 thermalserviced_28_0 (dir (search)))
(allow servicemanager_28_0 thermalserviced_28_0 (file (read open)))
(allow servicemanager_28_0 thermalserviced_28_0 (process (getattr)))
(allow thermalserviced_28_0 thermal_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_281_28_0 thermal_service_28_0 (service_manager (add)))
(allow thermalserviced_28_0 hwservicemanager_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 thermalserviced_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 thermalserviced_28_0 (dir (search)))
(allow hwservicemanager_28_0 thermalserviced_28_0 (file (read open)))
(allow hwservicemanager_28_0 thermalserviced_28_0 (process (getattr)))
(allow thermalserviced_28_0 thermalcallback_hwservice_28_0 (hwservice_manager (add find)))
(allow thermalserviced_28_0 hidl_base_hwservice_28_0 (hwservice_manager (add)))
(neverallow base_typeattr_281_28_0 thermalcallback_hwservice_28_0 (hwservice_manager (add)))
(allow thermalserviced_28_0 platform_app_28_0 (binder (call transfer)))
(allow platform_app_28_0 thermalserviced_28_0 (binder (transfer)))
(allow thermalserviced_28_0 platform_app_28_0 (fd (use)))
(allow tombstoned_28_0 domain (fd (use)))
(allow tombstoned_28_0 domain (fifo_file (write)))
(allow tombstoned_28_0 domain (dir (ioctl read getattr lock search open)))
(allow tombstoned_28_0 domain (file (ioctl read getattr lock map open)))
(allow tombstoned_28_0 tombstone_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow tombstoned_28_0 tombstone_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink link rename open)))
(allow tombstoned_28_0 anr_data_file_28_0 (file (write append)))
(auditallow tombstoned_28_0 anr_data_file_28_0 (file (write append)))
(allow tombstoned_28_0 anr_data_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow tombstoned_28_0 anr_data_file_28_0 (file (create getattr unlink link open)))
(allow toolbox_28_0 tmpfs_28_0 (chr_file (ioctl read write)))
(allow toolbox_28_0 devpts_28_0 (chr_file (ioctl read write getattr)))
(allow toolbox_28_0 block_device_28_0 (dir (search)))
(allow toolbox_28_0 swap_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(neverallow base_typeattr_69_28_0 toolbox_28_0 (process (transition)))
(neverallow base_typeattr_59_28_0 toolbox_28_0 (process (dyntransition)))
(neverallow toolbox_28_0 base_typeattr_282_28_0 (file (entrypoint)))
(allow traceur_app_28_0 servicemanager_28_0 (service_manager (list)))
(allow traceur_app_28_0 hwservicemanager_28_0 (hwservice_manager (list)))
(allow traceur_app_28_0 property_socket_28_0 (sock_file (write)))
(allow traceur_app_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow traceur_app_28_0 debug_prop_28_0 (property_service (set)))
(allow traceur_app_28_0 debug_prop_28_0 (file (ioctl read getattr lock map open)))
(allow traceur_app_28_0 base_typeattr_280_28_0 (service_manager (find)))
(dontaudit traceur_app_28_0 service_manager_type (service_manager (find)))
(dontaudit traceur_app_28_0 hwservice_manager_type (hwservice_manager (find)))
(dontaudit traceur_app_28_0 domain (binder (call)))
(allow tzdatacheck_28_0 zoneinfo_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow tzdatacheck_28_0 zoneinfo_data_file_28_0 (file (unlink)))
(neverallow base_typeattr_283_28_0 zoneinfo_data_file_28_0 (file (write create setattr relabelfrom append unlink link rename)))
(neverallow base_typeattr_283_28_0 zoneinfo_data_file_28_0 (dir (write create setattr relabelfrom link rename add_name remove_name reparent rmdir)))
(allow ueventd_28_0 kmsg_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow ueventd_28_0 self (capability (chown dac_override fowner fsetid setgid net_admin sys_rawio mknod)))
(allow ueventd_28_0 self (cap_userns (chown dac_override fowner fsetid setgid net_admin sys_rawio mknod)))
(allow ueventd_28_0 device_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow ueventd_28_0 rootfs_28_0 (dir (ioctl read getattr lock search open)))
(allow ueventd_28_0 rootfs_28_0 (file (ioctl read getattr lock map open)))
(allow ueventd_28_0 rootfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow ueventd_28_0 sysfs_type (file (write lock append map open)))
(allow ueventd_28_0 sysfs_type (dir (ioctl read getattr lock search open)))
(allow ueventd_28_0 sysfs_type (file (ioctl read getattr lock map open)))
(allow ueventd_28_0 sysfs_type (lnk_file (ioctl read getattr lock map open)))
(allow ueventd_28_0 sysfs_type (file (setattr relabelfrom relabelto)))
(allow ueventd_28_0 sysfs_type (lnk_file (setattr relabelfrom relabelto)))
(allow ueventd_28_0 sysfs_type (dir (setattr relabelfrom relabelto)))
(allow ueventd_28_0 tmpfs_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow ueventd_28_0 dev_type (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow ueventd_28_0 dev_type (lnk_file (create unlink)))
(allow ueventd_28_0 dev_type (chr_file (create getattr setattr unlink)))
(allow ueventd_28_0 dev_type (blk_file (create getattr setattr relabelfrom relabelto unlink)))
(allow ueventd_28_0 self (netlink_kobject_uevent_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow ueventd_28_0 efs_file_28_0 (dir (search)))
(allow ueventd_28_0 efs_file_28_0 (file (ioctl read getattr lock map open)))
(allow ueventd_28_0 selinuxfs_28_0 (dir (ioctl read getattr lock search open)))
(allow ueventd_28_0 selinuxfs_28_0 (file (ioctl read getattr lock map open)))
(allow ueventd_28_0 selinuxfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow ueventd_28_0 base_typeattr_284_28_0 (dir (ioctl read getattr lock search open)))
(allow ueventd_28_0 base_typeattr_284_28_0 (file (ioctl read getattr lock map open)))
(allow ueventd_28_0 base_typeattr_284_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow ueventd_28_0 file_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow ueventd_28_0 self (process (setfscreate)))
(allow ueventd_28_0 proc_cmdline_28_0 (file (ioctl read getattr lock map open)))
(neverallow ueventd_28_0 property_socket_28_0 (sock_file (write)))
(neverallow ueventd_28_0 init_28_0 (unix_stream_socket (connectto)))
(neverallow ueventd_28_0 property_type (property_service (set)))
(neverallow ueventd_28_0 dev_type (blk_file (ioctl read write lock append map link rename execute quotaon mounton open audit_access execmod)))
(neverallow ueventd_28_0 kmem_device_28_0 (chr_file (ioctl read write lock relabelfrom append map link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow ueventd_28_0 port_device_28_0 (chr_file (ioctl read write lock relabelfrom append map link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(allow uncrypt_28_0 self (capability (dac_override)))
(allow uncrypt_28_0 self (cap_userns (dac_override)))
(allow uncrypt_28_0 app_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow uncrypt_28_0 app_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow uncrypt_28_0 app_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow uncrypt_28_0 shell_data_file_28_0 (dir (ioctl read getattr lock search open)))
(allow uncrypt_28_0 shell_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow uncrypt_28_0 shell_data_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow uncrypt_28_0 cache_file_28_0 (dir (search)))
(allow uncrypt_28_0 cache_recovery_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow uncrypt_28_0 cache_recovery_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow uncrypt_28_0 ota_package_file_28_0 (dir (ioctl read getattr lock search open)))
(allow uncrypt_28_0 ota_package_file_28_0 (file (ioctl read getattr lock map open)))
(allow uncrypt_28_0 uncrypt_socket_28_0 (sock_file (write)))
(allow uncrypt_28_0 uncrypt_28_0 (unix_stream_socket (connectto)))
(allow uncrypt_28_0 property_socket_28_0 (sock_file (write)))
(allow uncrypt_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow uncrypt_28_0 powerctl_prop_28_0 (property_service (set)))
(allow uncrypt_28_0 powerctl_prop_28_0 (file (ioctl read getattr lock map open)))
(allow uncrypt_28_0 self (capability (sys_rawio)))
(allow uncrypt_28_0 self (cap_userns (sys_rawio)))
(allow uncrypt_28_0 misc_block_device_28_0 (blk_file (write lock append map open)))
(allow uncrypt_28_0 block_device_28_0 (dir (ioctl read getattr lock search open)))
(allow uncrypt_28_0 userdata_block_device_28_0 (blk_file (write lock append map open)))
(allow uncrypt_28_0 rootfs_28_0 (dir (ioctl read getattr lock search open)))
(allow uncrypt_28_0 rootfs_28_0 (file (ioctl read getattr lock map open)))
(allow uncrypt_28_0 rootfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow uncrypt_28_0 proc_cmdline_28_0 (file (ioctl read getattr lock map open)))
(allow uncrypt_28_0 sysfs_dt_firmware_android_28_0 (dir (ioctl read getattr lock search open)))
(allow uncrypt_28_0 sysfs_dt_firmware_android_28_0 (file (ioctl read getattr lock map open)))
(allow uncrypt_28_0 sysfs_dt_firmware_android_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow update_engine_28_0 qtaguid_proc_28_0 (file (ioctl read write getattr lock append map open)))
(allow update_engine_28_0 qtaguid_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow update_engine_28_0 self (process (setsched)))
(allow update_engine_28_0 self (capability (fowner sys_admin)))
(allow update_engine_28_0 self (cap_userns (fowner sys_admin)))
(dontaudit update_engine_28_0 self (capability (fsetid)))
(dontaudit update_engine_28_0 self (cap_userns (fsetid)))
(allow update_engine_28_0 kmsg_device_28_0 (chr_file (write lock append map open)))
(allow update_engine_28_0 update_engine_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow update_engine_28_0 sysfs_wake_lock_28_0 (file (ioctl read write getattr lock append map open)))
(allow update_engine_28_0 self (capability2 (block_suspend)))
(allow update_engine_28_0 self (cap2_userns (block_suspend)))
(dontaudit update_engine_28_0 kernel_28_0 (process (setsched)))
(dontaudit update_engine_28_0 self (capability (sys_rawio)))
(allow update_engine_28_0 update_engine_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow update_engine_28_0 update_engine_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow update_engine_28_0 update_engine_log_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow update_engine_28_0 update_engine_log_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(dontaudit update_engine_28_0 kernel_28_0 (system (module_request)))
(allow update_engine_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 update_engine_28_0 (dir (search)))
(allow servicemanager_28_0 update_engine_28_0 (file (read open)))
(allow servicemanager_28_0 update_engine_28_0 (process (getattr)))
(allow update_engine_28_0 update_engine_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_285_28_0 update_engine_service_28_0 (service_manager (add)))
(allow update_engine_28_0 priv_app_28_0 (binder (call transfer)))
(allow priv_app_28_0 update_engine_28_0 (binder (transfer)))
(allow update_engine_28_0 priv_app_28_0 (fd (use)))
(allow update_engine_28_0 ota_package_file_28_0 (file (ioctl read getattr lock map open)))
(allow update_engine_28_0 ota_package_file_28_0 (dir (ioctl read getattr lock search open)))
(allow update_engine_28_0 proc_misc_28_0 (file (ioctl read getattr lock map open)))
(allow update_engine_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow update_engine_common block_device_28_0 (dir (search)))
(allow update_engine_common boot_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow update_engine_common system_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow update_engine_common misc_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow update_engine_common rootfs_28_0 (dir (getattr)))
(allow update_engine_common rootfs_28_0 (file (ioctl read getattr lock map open)))
(allow update_engine_common postinstall_mnt_dir_28_0 (dir (getattr mounton search)))
(allow update_engine_common postinstall_file_28_0 (filesystem (mount unmount relabelfrom relabelto)))
(allow update_engine_common labeledfs_28_0 (filesystem (relabelfrom)))
(allow update_engine_common postinstall_file_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow update_engine_common postinstall_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow update_engine_common postinstall_file_28_0 (dir (ioctl read getattr lock search open)))
(allow update_engine_common cache_file_28_0 (dir (ioctl read getattr lock search open)))
(allow update_engine_common cache_file_28_0 (file (ioctl read getattr lock map open)))
(allow update_engine_common cache_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow update_engine_common shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow update_engine_common postinstall_28_0 (process (sigkill sigstop signal)))
(allow update_engine_common proc_cmdline_28_0 (file (ioctl read getattr lock map open)))
(allow update_engine_common sysfs_dt_firmware_android_28_0 (dir (ioctl read getattr lock search open)))
(allow update_engine_common sysfs_dt_firmware_android_28_0 (file (ioctl read getattr lock map open)))
(allow update_engine_common sysfs_dt_firmware_android_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow update_verifier_28_0 block_device_28_0 (dir (search)))
(allow update_verifier_28_0 ota_package_file_28_0 (dir (ioctl read getattr lock search open)))
(allow update_verifier_28_0 ota_package_file_28_0 (file (ioctl read getattr lock map open)))
(allow update_verifier_28_0 sysfs_28_0 (dir (ioctl read getattr lock search open)))
(allow update_verifier_28_0 sysfs_dm_28_0 (dir (ioctl read getattr lock search open)))
(allow update_verifier_28_0 sysfs_dm_28_0 (file (ioctl read getattr lock map open)))
(allow update_verifier_28_0 dm_device_28_0 (blk_file (ioctl read getattr lock map open)))
(allow update_verifier_28_0 kmsg_device_28_0 (chr_file (write lock append map open)))
(allow update_verifier_28_0 property_socket_28_0 (sock_file (write)))
(allow update_verifier_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow update_verifier_28_0 powerctl_prop_28_0 (property_service (set)))
(allow update_verifier_28_0 powerctl_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vdc_28_0 devpts_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow vdc_28_0 kmsg_device_28_0 (chr_file (write lock append map open)))
(allow vdc_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 vdc_28_0 (dir (search)))
(allow servicemanager_28_0 vdc_28_0 (file (read open)))
(allow servicemanager_28_0 vdc_28_0 (process (getattr)))
(allow vdc_28_0 vold_28_0 (binder (call transfer)))
(allow vold_28_0 vdc_28_0 (binder (transfer)))
(allow vdc_28_0 vold_28_0 (fd (use)))
(allow vdc_28_0 vold_service_28_0 (service_manager (find)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (read write)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (tcp_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (udp_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (rawip_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (packet_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (key_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (unix_stream_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (unix_dgram_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_route_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_tcpdiag_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_nflog_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_xfrm_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_selinux_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_audit_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_dnrt_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_kobject_uevent_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (appletalk_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (tun_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_iscsi_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_fib_lookup_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_connector_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_netfilter_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_generic_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_scsitransport_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_rdma_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netlink_crypto_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (sctp_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (icmp_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (ax25_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (ipx_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (netrom_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (atmpvc_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (x25_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (rose_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (decnet_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (atmsvc_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (rds_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (irda_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (pppox_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (llc_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (can_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (tipc_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (bluetooth_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (iucv_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (rxrpc_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (isdn_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (phonet_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (ieee802154_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (caif_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (alg_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (nfc_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (vsock_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (kcm_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (qipcrtr_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (smc_socket (connect sendto)))
(neverallow vendor_init_28_0 base_typeattr_286_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 kmsg_device_28_0 (chr_file (write open)))
(allow vendor_init_28_0 device_28_0 (dir (mounton)))
(allow vendor_init_28_0 rootfs_28_0 (lnk_file (create unlink)))
(allow vendor_init_28_0 cgroup_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vendor_init_28_0 configfs_28_0 (dir (mounton)))
(allow vendor_init_28_0 configfs_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vendor_init_28_0 configfs_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vendor_init_28_0 configfs_28_0 (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vendor_init_28_0 self (capability (dac_override)))
(allow vendor_init_28_0 self (cap_userns (dac_override)))
(allow vendor_init_28_0 self (capability (chown fowner fsetid)))
(allow vendor_init_28_0 self (cap_userns (chown fowner fsetid)))
(allow vendor_init_28_0 unencrypted_data_file_28_0 (dir (search)))
(allow vendor_init_28_0 unencrypted_data_file_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 system_data_file_28_0 (dir (getattr)))
(allow vendor_init_28_0 base_typeattr_287_28_0 (dir (ioctl read write create getattr setattr relabelfrom add_name remove_name search rmdir open)))
(allow vendor_init_28_0 base_typeattr_288_28_0 (file (read write create getattr setattr relabelfrom unlink open)))
(allow vendor_init_28_0 base_typeattr_287_28_0 (sock_file (read create getattr setattr relabelfrom unlink open)))
(allow vendor_init_28_0 base_typeattr_287_28_0 (fifo_file (read create getattr setattr relabelfrom unlink open)))
(allow vendor_init_28_0 base_typeattr_287_28_0 (lnk_file (create getattr setattr relabelfrom unlink)))
(allow vendor_init_28_0 base_typeattr_289_28_0 (file (relabelto)))
(allow vendor_init_28_0 base_typeattr_289_28_0 (dir (relabelto)))
(allow vendor_init_28_0 base_typeattr_289_28_0 (lnk_file (relabelto)))
(allow vendor_init_28_0 base_typeattr_289_28_0 (chr_file (relabelto)))
(allow vendor_init_28_0 base_typeattr_289_28_0 (blk_file (relabelto)))
(allow vendor_init_28_0 base_typeattr_289_28_0 (sock_file (relabelto)))
(allow vendor_init_28_0 base_typeattr_289_28_0 (fifo_file (relabelto)))
(allow vendor_init_28_0 dev_type (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vendor_init_28_0 dev_type (lnk_file (create)))
(allow vendor_init_28_0 debugfs_tracing_28_0 (file (write lock append map open)))
(allow vendor_init_28_0 base_typeattr_290_28_0 (file (read setattr open)))
(allow vendor_init_28_0 base_typeattr_290_28_0 (dir (read setattr search open)))
(allow vendor_init_28_0 base_typeattr_291_28_0 (chr_file (setattr)))
(allow vendor_init_28_0 dev_type (blk_file (getattr)))
(allow vendor_init_28_0 proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow vendor_init_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 proc_net_28_0 (file (write lock append map open)))
(allow vendor_init_28_0 self (capability (net_admin)))
(allow vendor_init_28_0 self (cap_userns (net_admin)))
(allow vendor_init_28_0 proc_page_cluster_28_0 (file (write lock append map open)))
(allow vendor_init_28_0 sysfs_type (dir (ioctl read getattr lock search open)))
(allow vendor_init_28_0 sysfs_type (lnk_file (read)))
(allow vendor_init_28_0 base_typeattr_292_28_0 (file (ioctl read write getattr lock append map open)))
(allow vendor_init_28_0 self (process (setfscreate)))
(allow vendor_init_28_0 vendor_file_type (dir (ioctl read getattr lock search open)))
(allow vendor_init_28_0 vendor_file_type (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 vendor_file_type (lnk_file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 serialno_prop_28_0 (file (read getattr open)))
(allow vendor_init_28_0 self (capability (sys_admin)))
(allow vendor_init_28_0 self (cap_userns (sys_admin)))
(allow vendor_init_28_0 misc_block_device_28_0 (blk_file (write lock append map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 bluetooth_a2dp_offload_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 bluetooth_a2dp_offload_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 debug_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 debug_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported_audio_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported_audio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported_bluetooth_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported_bluetooth_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported_config_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported_config_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported_dalvik_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported_dalvik_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported_default_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported_default_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported_ffs_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported_ffs_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported_overlay_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported_overlay_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported_pm_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported_pm_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported_radio_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported_system_radio_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported_system_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported_wifi_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported_wifi_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported2_config_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported2_config_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported2_system_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported2_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported2_vold_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported2_vold_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported3_default_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported3_default_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 exported3_radio_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 exported3_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 logd_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 logd_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 log_tag_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 log_tag_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 log_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 log_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 serialno_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 serialno_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 vendor_default_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 vendor_default_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 vendor_security_patch_level_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 vendor_security_patch_level_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 property_socket_28_0 (sock_file (write)))
(allow vendor_init_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vendor_init_28_0 wifi_log_prop_28_0 (property_service (set)))
(allow vendor_init_28_0 wifi_log_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 exported2_radio_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_init_28_0 exported3_system_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vendor_shell_28_0 vendor_shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow vendor_shell_28_0 vendor_toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow vendor_shell_28_0 shell_28_0 (fd (use)))
(allow vendor_shell_28_0 adbd_28_0 (fd (use)))
(allow vendor_shell_28_0 adbd_28_0 (process (sigchld)))
(allow vendor_shell_28_0 adbd_28_0 (unix_stream_socket (ioctl read write getattr)))
(allow vendor_shell_28_0 devpts_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow vendor_shell_28_0 tty_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow vendor_shell_28_0 console_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow vendor_shell_28_0 input_device_28_0 (dir (ioctl read getattr lock search open)))
(allow vendor_shell_28_0 input_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(neverallow base_typeattr_293_28_0 vendor_toolbox_exec_28_0 (file (execute execute_no_trans entrypoint)))
(allow virtual_touchpad_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 virtual_touchpad_28_0 (dir (search)))
(allow servicemanager_28_0 virtual_touchpad_28_0 (file (read open)))
(allow servicemanager_28_0 virtual_touchpad_28_0 (process (getattr)))
(allow virtual_touchpad_28_0 virtual_touchpad_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_294_28_0 virtual_touchpad_service_28_0 (service_manager (add)))
(allow virtual_touchpad_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 virtual_touchpad_28_0 (binder (transfer)))
(allow virtual_touchpad_28_0 system_server_28_0 (fd (use)))
(allow virtual_touchpad_28_0 uhid_device_28_0 (chr_file (ioctl write lock append map open)))
(allow virtual_touchpad_28_0 permission_service_28_0 (service_manager (find)))
(allow vold_28_0 cache_file_28_0 (dir (ioctl read getattr lock search open)))
(allow vold_28_0 cache_file_28_0 (file (read getattr)))
(allow vold_28_0 cache_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow vold_28_0 proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow vold_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow vold_28_0 sysfs_type (dir (ioctl read getattr lock search open)))
(allow vold_28_0 sysfs_type (file (ioctl read getattr lock map open)))
(allow vold_28_0 sysfs_type (lnk_file (ioctl read getattr lock map open)))
(allow vold_28_0 sysfs_28_0 (file (write lock append map open)))
(allow vold_28_0 sysfs_dm_28_0 (file (write lock append map open)))
(allow vold_28_0 sysfs_usb_28_0 (file (write lock append map open)))
(allow vold_28_0 sysfs_zram_uevent_28_0 (file (write lock append map open)))
(allow vold_28_0 rootfs_28_0 (dir (ioctl read getattr lock search open)))
(allow vold_28_0 rootfs_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 rootfs_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow vold_28_0 metadata_file_28_0 (dir (ioctl read getattr lock search open)))
(allow vold_28_0 metadata_file_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 metadata_file_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow vold_28_0 proc_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 proc_drop_caches_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 proc_cmdline_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 proc_filesystems_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 proc_meminfo_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 proc_mounts_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 file_contexts_file_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 self (process (setexec)))
(allow vold_28_0 shell_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow vold_28_0 e2fs_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow vold_28_0 self (process (setfscreate)))
(allow vold_28_0 system_file_28_0 (file (getattr map execute execute_no_trans)))
(allow vold_28_0 block_device_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 device_28_0 (dir (write)))
(allow vold_28_0 devpts_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow vold_28_0 rootfs_28_0 (dir (mounton)))
(allow vold_28_0 sdcard_type (dir (mounton)))
(allow vold_28_0 sdcard_type (filesystem (mount remount unmount)))
(allow vold_28_0 sdcard_type (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 sdcard_type (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vold_28_0 sdcard_type (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 mnt_media_rw_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 storage_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 sdcard_type (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vold_28_0 mnt_media_rw_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vold_28_0 storage_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vold_28_0 media_rw_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 media_rw_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vold_28_0 mnt_media_rw_stub_file_28_0 (dir (create getattr setattr mounton rmdir)))
(allow vold_28_0 storage_stub_file_28_0 (dir (create getattr setattr mounton rmdir)))
(allow vold_28_0 mnt_user_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 mnt_user_file_28_0 (lnk_file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vold_28_0 mnt_expand_file_28_0 (dir (ioctl read write create getattr setattr lock rename mounton add_name remove_name reparent search rmdir open)))
(allow vold_28_0 apk_data_file_28_0 (dir (create getattr setattr)))
(allow vold_28_0 shell_data_file_28_0 (dir (create getattr setattr)))
(allow vold_28_0 tmpfs_28_0 (filesystem (mount unmount)))
(allow vold_28_0 tmpfs_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 tmpfs_28_0 (dir (mounton)))
(allow vold_28_0 self (capability (chown dac_override fowner fsetid net_admin sys_admin mknod)))
(allow vold_28_0 self (cap_userns (chown dac_override fowner fsetid net_admin sys_admin mknod)))
(allow vold_28_0 self (netlink_kobject_uevent_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow vold_28_0 app_data_file_28_0 (dir (search)))
(allow vold_28_0 app_data_file_28_0 (file (ioctl read write getattr lock append map open)))
(allow vold_28_0 loop_control_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow vold_28_0 loop_device_28_0 (blk_file (ioctl read write create getattr setattr lock append map unlink open)))
(allow vold_28_0 vold_device_28_0 (blk_file (ioctl read write create getattr setattr lock append map unlink open)))
(allow vold_28_0 dm_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow vold_28_0 dm_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow vold_28_0 domain (dir (ioctl read getattr lock search open)))
(allow vold_28_0 domain (file (ioctl read getattr lock map open)))
(allow vold_28_0 domain (lnk_file (ioctl read getattr lock map open)))
(allow vold_28_0 domain (process (sigkill signal)))
(allow vold_28_0 self (capability (kill sys_ptrace)))
(allow vold_28_0 self (cap_userns (kill sys_ptrace)))
(allow vold_28_0 kmsg_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow vold_28_0 fsck_exec_28_0 (file (ioctl read getattr lock map execute open)))
(allow vold_28_0 fscklogs_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow vold_28_0 fscklogs_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vold_28_0 labeledfs_28_0 (filesystem (mount unmount)))
(allow vold_28_0 efs_file_28_0 (file (ioctl read write getattr lock append map open)))
(allow vold_28_0 system_data_file_28_0 (dir (ioctl read write create getattr setattr lock mounton add_name remove_name search rmdir open)))
(allow vold_28_0 system_data_file_28_0 (lnk_file (getattr)))
(allow vold_28_0 vendor_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 system_data_file_28_0 (file (read)))
(allow vold_28_0 kernel_28_0 (process (setsched)))
(allow vold_28_0 property_socket_28_0 (sock_file (write)))
(allow vold_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vold_28_0 vold_prop_28_0 (property_service (set)))
(allow vold_28_0 vold_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 property_socket_28_0 (sock_file (write)))
(allow vold_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vold_28_0 exported_vold_prop_28_0 (property_service (set)))
(allow vold_28_0 exported_vold_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 property_socket_28_0 (sock_file (write)))
(allow vold_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vold_28_0 exported2_vold_prop_28_0 (property_service (set)))
(allow vold_28_0 exported2_vold_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 property_socket_28_0 (sock_file (write)))
(allow vold_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vold_28_0 powerctl_prop_28_0 (property_service (set)))
(allow vold_28_0 powerctl_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 property_socket_28_0 (sock_file (write)))
(allow vold_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vold_28_0 ctl_fuse_prop_28_0 (property_service (set)))
(allow vold_28_0 ctl_fuse_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 property_socket_28_0 (sock_file (write)))
(allow vold_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow vold_28_0 restorecon_prop_28_0 (property_service (set)))
(allow vold_28_0 restorecon_prop_28_0 (file (ioctl read getattr lock map open)))
(allow vold_28_0 asec_image_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vold_28_0 asec_image_file_28_0 (dir (ioctl read write getattr lock add_name remove_name search open)))
(allow vold_28_0 asec_apk_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto rename mounton add_name remove_name reparent search rmdir open)))
(allow vold_28_0 asec_public_file_28_0 (dir (setattr relabelto)))
(allow vold_28_0 asec_apk_file_28_0 (file (ioctl read getattr setattr lock relabelfrom relabelto map open)))
(allow vold_28_0 asec_public_file_28_0 (file (setattr relabelto)))
(allow vold_28_0 unlabeled_28_0 (dir (ioctl read getattr setattr lock relabelfrom search open)))
(allow vold_28_0 unlabeled_28_0 (file (ioctl read getattr setattr lock relabelfrom map open)))
(allow vold_28_0 sysfs_wake_lock_28_0 (file (ioctl read write getattr lock append map open)))
(allow vold_28_0 self (capability2 (block_suspend)))
(allow vold_28_0 self (cap2_userns (block_suspend)))
(allow vold_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 vold_28_0 (dir (search)))
(allow servicemanager_28_0 vold_28_0 (file (read open)))
(allow servicemanager_28_0 vold_28_0 (process (getattr)))
(allow vold_28_0 vold_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_176_28_0 vold_service_28_0 (service_manager (add)))
(allow vold_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 vold_28_0 (binder (transfer)))
(allow vold_28_0 system_server_28_0 (fd (use)))
(allow vold_28_0 permission_service_28_0 (service_manager (find)))
(allow vold_28_0 healthd_28_0 (binder (call transfer)))
(allow healthd_28_0 vold_28_0 (binder (transfer)))
(allow vold_28_0 healthd_28_0 (fd (use)))
(allow vold_28_0 userdata_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow vold_28_0 metadata_block_device_28_0 (blk_file (ioctl read write getattr lock append map open)))
(allow vold_28_0 unencrypted_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vold_28_0 unencrypted_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 proc_drop_caches_28_0 (file (write lock append map open)))
(allow vold_28_0 vold_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 vold_data_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vold_28_0 vold_metadata_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 vold_metadata_file_28_0 (file (ioctl read write create getattr setattr lock append map unlink rename open)))
(allow vold_28_0 init_28_0 (key (write search setattr)))
(allow vold_28_0 vold_28_0 (key (write search setattr)))
(allow vold_28_0 self (capability (sys_nice)))
(allow vold_28_0 self (cap_userns (sys_nice)))
(allow vold_28_0 self (capability (sys_chroot)))
(allow vold_28_0 self (cap_userns (sys_chroot)))
(allow vold_28_0 storage_file_28_0 (dir (mounton)))
(allow vold_28_0 fuse_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow vold_28_0 fuse_28_0 (filesystem (relabelfrom)))
(allow vold_28_0 app_fusefs_28_0 (filesystem (relabelfrom relabelto)))
(allow vold_28_0 app_fusefs_28_0 (filesystem (mount unmount)))
(allow vold_28_0 toolbox_exec_28_0 (file (ioctl read getattr lock map execute execute_no_trans open)))
(allow vold_28_0 user_profile_data_file_28_0 (dir (ioctl read write create getattr setattr lock rename add_name remove_name reparent search rmdir open)))
(allow vold_28_0 misc_block_device_28_0 (blk_file (write lock append map open)))
(neverallow base_typeattr_295_28_0 vold_data_file_28_0 (dir (write lock relabelfrom append map unlink link rename execute quotaon mounton add_name remove_name reparent rmdir audit_access execmod)))
(neverallow base_typeattr_296_28_0 vold_data_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow base_typeattr_297_28_0 vold_metadata_file_28_0 (dir (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton add_name remove_name reparent search rmdir open audit_access execmod)))
(neverallow base_typeattr_298_28_0 vold_data_file_28_0 (file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_298_28_0 vold_data_file_28_0 (lnk_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_298_28_0 vold_data_file_28_0 (sock_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_298_28_0 vold_data_file_28_0 (fifo_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_296_28_0 vold_metadata_file_28_0 (file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_296_28_0 vold_metadata_file_28_0 (lnk_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_296_28_0 vold_metadata_file_28_0 (sock_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_296_28_0 vold_metadata_file_28_0 (fifo_file (ioctl read write create setattr lock relabelfrom append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_299_28_0 vold_metadata_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_299_28_0 vold_metadata_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_299_28_0 vold_metadata_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_299_28_0 vold_metadata_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_299_28_0 vold_data_file_28_0 (file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton execute_no_trans entrypoint execmod open audit_access)))
(neverallow base_typeattr_299_28_0 vold_data_file_28_0 (lnk_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_299_28_0 vold_data_file_28_0 (sock_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_299_28_0 vold_data_file_28_0 (fifo_file (ioctl read write create getattr setattr lock relabelfrom relabelto append map unlink link rename execute quotaon mounton open audit_access execmod)))
(neverallow base_typeattr_174_28_0 restorecon_prop_28_0 (property_service (set)))
(neverallow base_typeattr_300_28_0 vold_service_28_0 (service_manager (find)))
(neverallow vold_28_0 base_typeattr_301_28_0 (binder (call)))
(neverallow vold_28_0 fsck_exec_28_0 (file (execute_no_trans)))
(neverallow base_typeattr_69_28_0 vold_28_0 (process (transition dyntransition)))
(neverallow vold_28_0 base_typeattr_59_28_0 (process (ptrace)))
(neverallow vold_28_0 base_typeattr_59_28_0 (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)))
(allow vr_hwc_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 vr_hwc_28_0 (dir (search)))
(allow servicemanager_28_0 vr_hwc_28_0 (file (read open)))
(allow servicemanager_28_0 vr_hwc_28_0 (process (getattr)))
(allow vr_hwc_28_0 surfaceflinger_28_0 (binder (call transfer)))
(allow surfaceflinger_28_0 vr_hwc_28_0 (binder (transfer)))
(allow vr_hwc_28_0 surfaceflinger_28_0 (fd (use)))
(allow vr_hwc_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 vr_hwc_28_0 (binder (transfer)))
(allow vr_hwc_28_0 system_server_28_0 (fd (use)))
(allow vr_hwc_28_0 vr_hwc_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_302_28_0 vr_hwc_service_28_0 (service_manager (add)))
(allow vr_hwc_28_0 hwservicemanager_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 vr_hwc_28_0 (binder (call transfer)))
(allow hwservicemanager_28_0 vr_hwc_28_0 (dir (search)))
(allow hwservicemanager_28_0 vr_hwc_28_0 (file (read open)))
(allow hwservicemanager_28_0 vr_hwc_28_0 (process (getattr)))
(allow vr_hwc_28_0 system_file_28_0 (dir (ioctl read getattr lock search open)))
(allow vr_hwc_28_0 ion_device_28_0 (chr_file (ioctl read getattr lock map open)))
(allow vr_hwc_28_0 pdx_display_client_endpoint_dir_type (dir (ioctl read getattr lock search open)))
(allow vr_hwc_28_0 pdx_display_client_endpoint_socket_type (sock_file (ioctl read write getattr lock append map open)))
(allow vr_hwc_28_0 pdx_display_client_endpoint_socket_type (unix_stream_socket (read write shutdown connectto)))
(allow vr_hwc_28_0 pdx_display_client_channel_socket_type (unix_stream_socket (read write getattr setattr lock append getopt setopt shutdown)))
(allow vr_hwc_28_0 pdx_display_client_server_type (fd (use)))
(allow pdx_display_client_server_type vr_hwc_28_0 (fd (use)))
(allow vr_hwc_28_0 permission_service_28_0 (service_manager (find)))
(allow watchdogd_28_0 watchdog_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow watchdogd_28_0 kmsg_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow wificond_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 wificond_28_0 (dir (search)))
(allow servicemanager_28_0 wificond_28_0 (file (read open)))
(allow servicemanager_28_0 wificond_28_0 (process (getattr)))
(allow wificond_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 wificond_28_0 (binder (transfer)))
(allow wificond_28_0 system_server_28_0 (fd (use)))
(allow wificond_28_0 wificond_service_28_0 (service_manager (add find)))
(neverallow base_typeattr_303_28_0 wificond_service_28_0 (service_manager (add)))
(allow wificond_28_0 property_socket_28_0 (sock_file (write)))
(allow wificond_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow wificond_28_0 exported_wifi_prop_28_0 (property_service (set)))
(allow wificond_28_0 exported_wifi_prop_28_0 (file (ioctl read getattr lock map open)))
(allow wificond_28_0 property_socket_28_0 (sock_file (write)))
(allow wificond_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow wificond_28_0 wifi_prop_28_0 (property_service (set)))
(allow wificond_28_0 wifi_prop_28_0 (file (ioctl read getattr lock map open)))
(allow wificond_28_0 property_socket_28_0 (sock_file (write)))
(allow wificond_28_0 init_28_0 (unix_stream_socket (connectto)))
(allow wificond_28_0 ctl_default_prop_28_0 (property_service (set)))
(allow wificond_28_0 ctl_default_prop_28_0 (file (ioctl read getattr lock map open)))
(allow wificond_28_0 self (udp_socket (ioctl read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allowx wificond_28_0 self (ioctl udp_socket (0x8914 0x8924)))
(allow wificond_28_0 self (capability (net_admin net_raw)))
(allow wificond_28_0 self (cap_userns (net_admin net_raw)))
(allow wificond_28_0 self (netlink_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow wificond_28_0 self (netlink_generic_socket (read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allow wificond_28_0 proc_net_28_0 (dir (ioctl read getattr lock search open)))
(allow wificond_28_0 proc_net_28_0 (file (ioctl read getattr lock map open)))
(allow wificond_28_0 proc_net_28_0 (lnk_file (ioctl read getattr lock map open)))
(allow wificond_28_0 permission_service_28_0 (service_manager (find)))
(allow wificond_28_0 dumpstate_28_0 (fd (use)))
(allow wificond_28_0 dumpstate_28_0 (fifo_file (write)))
(allow wpantund_28_0 servicemanager_28_0 (binder (call transfer)))
(allow servicemanager_28_0 wpantund_28_0 (dir (search)))
(allow servicemanager_28_0 wpantund_28_0 (file (read open)))
(allow servicemanager_28_0 wpantund_28_0 (process (getattr)))
(allow wpantund_28_0 system_server_28_0 (binder (call transfer)))
(allow system_server_28_0 wpantund_28_0 (binder (transfer)))
(allow wpantund_28_0 system_server_28_0 (fd (use)))
(allow wpantund_28_0 lowpan_service_28_0 (service_manager (find)))
(allow wpantund_28_0 priv_app_28_0 (binder (call)))
(allow wpantund_28_0 shell_28_0 (binder (call)))
(allow wpantund_28_0 self (udp_socket (ioctl read write create getattr setattr lock append bind connect getopt setopt shutdown)))
(allowx wpantund_28_0 self (ioctl udp_socket (0x8914 0x8922)))
(allow wpantund_28_0 tun_device_28_0 (chr_file (ioctl read write getattr lock append map open)))
(allow wpantund_28_0 self (capability (net_admin net_raw)))
(allow wpantund_28_0 self (cap_userns (net_admin net_raw)))
(allow wpantund_28_0 self (tun_socket (create)))
(typeattribute base_typeattr_303_28_0)
(typeattributeset base_typeattr_303_28_0 ((and (domain) ((not (wificond_28_0))))))
(typeattribute base_typeattr_302_28_0)
(typeattributeset base_typeattr_302_28_0 ((and (domain) ((not (vr_hwc_28_0))))))
(typeattribute base_typeattr_301_28_0)
(typeattributeset base_typeattr_301_28_0 ((and (domain) ((not (hal_keymaster_server healthd_28_0 hwservicemanager_28_0 servicemanager_28_0 su_28_0 system_server_28_0))))))
(typeattribute base_typeattr_300_28_0)
(typeattributeset base_typeattr_300_28_0 ((and (domain) ((not (system_server_28_0 vdc_28_0 vold_28_0))))))
(typeattribute base_typeattr_299_28_0)
(typeattributeset base_typeattr_299_28_0 ((and (domain) ((not (init_28_0 kernel_28_0 vendor_init_28_0 vold_28_0 vold_prepare_subdirs_28_0))))))
(typeattribute base_typeattr_298_28_0)
(typeattributeset base_typeattr_298_28_0 ((and (domain) ((not (kernel_28_0 vold_28_0 vold_prepare_subdirs_28_0))))))
(typeattribute base_typeattr_297_28_0)
(typeattributeset base_typeattr_297_28_0 ((and (domain) ((not (init_28_0 vendor_init_28_0 vold_28_0))))))
(typeattribute base_typeattr_296_28_0)
(typeattributeset base_typeattr_296_28_0 ((and (domain) ((not (init_28_0 vold_28_0 vold_prepare_subdirs_28_0))))))
(typeattribute base_typeattr_295_28_0)
(typeattributeset base_typeattr_295_28_0 ((and (domain) ((not (vold_28_0 vold_prepare_subdirs_28_0))))))
(typeattribute base_typeattr_294_28_0)
(typeattributeset base_typeattr_294_28_0 ((and (domain) ((not (virtual_touchpad_28_0))))))
(typeattribute base_typeattr_293_28_0)
(typeattributeset base_typeattr_293_28_0 ((and (coredomain) ((not (init_28_0 modprobe_28_0))))))
(typeattribute base_typeattr_292_28_0)
(typeattributeset base_typeattr_292_28_0 ((and (sysfs_type) ((not (sysfs_usermodehelper_28_0))))))
(typeattribute base_typeattr_291_28_0)
(typeattributeset base_typeattr_291_28_0 ((and (dev_type) ((not (hw_random_device_28_0 kmem_device_28_0 port_device_28_0 lowpan_device_28_0))))))
(typeattribute base_typeattr_290_28_0)
(typeattributeset base_typeattr_290_28_0 ((and (fs_type) ((not (contextmount_type sdcard_type rootfs_28_0 proc_uid_time_in_state_28_0 proc_uid_concurrent_active_time_28_0 proc_uid_concurrent_policy_time_28_0))))))
(typeattribute base_typeattr_289_28_0)
(typeattributeset base_typeattr_289_28_0 ((and (file_type) ((not (exec_type core_data_file_type vendor_file_type system_file_28_0 vold_metadata_file_28_0))))))
(typeattribute base_typeattr_288_28_0)
(typeattributeset base_typeattr_288_28_0 ((and (file_type) ((not (exec_type core_data_file_type vendor_file_type unlabeled_28_0 system_file_28_0 vold_metadata_file_28_0 runtime_event_log_tags_file_28_0))))))
(typeattribute base_typeattr_287_28_0)
(typeattributeset base_typeattr_287_28_0 ((and (file_type) ((not (exec_type core_data_file_type vendor_file_type unlabeled_28_0 system_file_28_0 vold_metadata_file_28_0))))))
(typeattribute base_typeattr_286_28_0)
(typeattributeset base_typeattr_286_28_0 ((and (domain) ((not (init_28_0 logd_28_0 su_28_0 vendor_init_28_0))))))
(typeattribute base_typeattr_285_28_0)
(typeattributeset base_typeattr_285_28_0 ((and (domain) ((not (update_engine_28_0))))))
(typeattribute base_typeattr_284_28_0)
(typeattributeset base_typeattr_284_28_0 ((and (vendor_file_type) ((not (vendor_app_file_28_0 vendor_overlay_file_28_0))))))
(typeattribute base_typeattr_283_28_0)
(typeattributeset base_typeattr_283_28_0 ((and (domain) ((not (init_28_0 system_server_28_0 tzdatacheck_28_0))))))
(typeattribute base_typeattr_282_28_0)
(typeattributeset base_typeattr_282_28_0 ((and (fs_type file_type) ((not (toolbox_exec_28_0))))))
(typeattribute base_typeattr_281_28_0)
(typeattributeset base_typeattr_281_28_0 ((and (domain) ((not (thermalserviced_28_0))))))
(typeattribute base_typeattr_280_28_0)
(typeattributeset base_typeattr_280_28_0 ((and (service_manager_type) ((not (gatekeeper_service_28_0 incident_service_28_0 installd_service_28_0 netd_service_28_0 virtual_touchpad_service_28_0 vold_service_28_0 vr_hwc_service_28_0))))))
(typeattribute base_typeattr_279_28_0)
(typeattributeset base_typeattr_279_28_0 ((and (fs_type file_type) ((not (sgdisk_exec_28_0))))))
(typeattribute base_typeattr_278_28_0)
(typeattributeset base_typeattr_278_28_0 ((and (domain) ((not (hwservicemanager_28_0 init_28_0 vendor_init_28_0 vndservicemanager_28_0))))))
(typeattribute base_typeattr_277_28_0)
(typeattributeset base_typeattr_277_28_0 ((and (appdomain) ((not (system_app_28_0))))))
(typeattribute base_typeattr_276_28_0)
(typeattributeset base_typeattr_276_28_0 ((and (data_file_type) ((not (cache_file_28_0 cache_recovery_file_28_0))))))
(typeattribute base_typeattr_275_28_0)
(typeattributeset base_typeattr_275_28_0 ((and (domain) ((not (radio_28_0))))))
(typeattribute base_typeattr_274_28_0)
(typeattributeset base_typeattr_274_28_0 ((and (property_type) ((not (extended_core_property_type audio_prop_28_0 boottime_prop_28_0 bluetooth_a2dp_offload_prop_28_0 bluetooth_prop_28_0 bootloader_boot_reason_prop_28_0 config_prop_28_0 cppreopt_prop_28_0 ctl_bootanim_prop_28_0 ctl_bugreport_prop_28_0 ctl_console_prop_28_0 ctl_default_prop_28_0 ctl_dumpstate_prop_28_0 ctl_fuse_prop_28_0 ctl_interface_restart_prop_28_0 ctl_interface_start_prop_28_0 ctl_interface_stop_prop_28_0 ctl_mdnsd_prop_28_0 ctl_restart_prop_28_0 ctl_rildaemon_prop_28_0 ctl_sigstop_prop_28_0 ctl_start_prop_28_0 ctl_stop_prop_28_0 dalvik_prop_28_0 debuggerd_prop_28_0 debug_prop_28_0 default_prop_28_0 device_logging_prop_28_0 dhcp_prop_28_0 dumpstate_options_prop_28_0 dumpstate_prop_28_0 exported_secure_prop_28_0 ffs_prop_28_0 fingerprint_prop_28_0 firstboot_prop_28_0 hwservicemanager_prop_28_0 last_boot_reason_prop_28_0 logd_prop_28_0 logpersistd_logging_prop_28_0 log_prop_28_0 log_tag_prop_28_0 lowpan_prop_28_0 mmc_prop_28_0 net_dns_prop_28_0 net_radio_prop_28_0 netd_stable_secret_prop_28_0 nfc_prop_28_0 overlay_prop_28_0 pan_result_prop_28_0 persist_debug_prop_28_0 persistent_properties_ready_prop_28_0 pm_prop_28_0 powerctl_prop_28_0 radio_prop_28_0 restorecon_prop_28_0 safemode_prop_28_0 serialno_prop_28_0 shell_prop_28_0 system_boot_reason_prop_28_0 system_prop_28_0 system_radio_prop_28_0 test_boot_reason_prop_28_0 traced_enabled_prop_28_0 vold_prop_28_0 wifi_log_prop_28_0 wifi_prop_28_0 vendor_security_patch_level_prop_28_0 exported_bluetooth_prop_28_0 exported_config_prop_28_0 exported_dalvik_prop_28_0 exported_default_prop_28_0 exported_dumpstate_prop_28_0 exported_ffs_prop_28_0 exported_fingerprint_prop_28_0 exported_overlay_prop_28_0 exported_pm_prop_28_0 exported_radio_prop_28_0 exported_system_prop_28_0 exported_system_radio_prop_28_0 exported_vold_prop_28_0 exported_wifi_prop_28_0 exported2_config_prop_28_0 exported2_default_prop_28_0 exported2_radio_prop_28_0 exported2_system_prop_28_0 exported2_vold_prop_28_0 exported3_default_prop_28_0 exported3_radio_prop_28_0 exported3_system_prop_28_0 vendor_default_prop_28_0))))))
(typeattribute base_typeattr_273_28_0)
(typeattributeset base_typeattr_273_28_0 ((and (coredomain) ((not (system_writes_vendor_properties_violators init_28_0))))))
(typeattribute base_typeattr_272_28_0)
(typeattributeset base_typeattr_272_28_0 ((and (core_property_type extended_core_property_type exported_dalvik_prop_28_0 exported_ffs_prop_28_0 exported_system_radio_prop_28_0 exported2_config_prop_28_0 exported2_system_prop_28_0 exported2_vold_prop_28_0 exported3_default_prop_28_0 exported3_system_prop_28_0) ((not (debug_prop_28_0 logd_prop_28_0 nfc_prop_28_0 powerctl_prop_28_0 radio_prop_28_0))))))
(typeattribute base_typeattr_271_28_0)
(typeattributeset base_typeattr_271_28_0 ((and (domain) ((not (coredomain hal_wifi_server vendor_init_28_0 wificond_28_0))))))
(typeattribute base_typeattr_270_28_0)
(typeattributeset base_typeattr_270_28_0 ((and (domain) ((not (coredomain hal_wifi_server wificond_28_0))))))
(typeattribute base_typeattr_269_28_0)
(typeattributeset base_typeattr_269_28_0 ((and (domain) ((not (coredomain hal_bluetooth_server bluetooth_28_0 vendor_init_28_0))))))
(typeattribute base_typeattr_268_28_0)
(typeattributeset base_typeattr_268_28_0 ((and (domain) ((not (coredomain hal_bluetooth_server bluetooth_28_0))))))
(typeattribute base_typeattr_267_28_0)
(typeattributeset base_typeattr_267_28_0 ((and (domain) ((not (appdomain coredomain hal_telephony_server))))))
(typeattribute base_typeattr_266_28_0)
(typeattributeset base_typeattr_266_28_0 ((and (domain) ((not (appdomain coredomain hal_telephony_server vendor_init_28_0))))))
(typeattribute base_typeattr_265_28_0)
(typeattributeset base_typeattr_265_28_0 ((and (domain) ((not (appdomain coredomain hal_nfc_server))))))
(typeattribute base_typeattr_264_28_0)
(typeattributeset base_typeattr_264_28_0 ((and (core_property_type extended_core_property_type exported_config_prop_28_0 exported_dalvik_prop_28_0 exported_default_prop_28_0 exported_dumpstate_prop_28_0 exported_ffs_prop_28_0 exported_fingerprint_prop_28_0 exported_system_prop_28_0 exported_system_radio_prop_28_0 exported_vold_prop_28_0 exported2_config_prop_28_0 exported2_default_prop_28_0 exported2_system_prop_28_0 exported2_vold_prop_28_0 exported3_default_prop_28_0 exported3_system_prop_28_0) ((not (nfc_prop_28_0 powerctl_prop_28_0 radio_prop_28_0))))))
(typeattribute base_typeattr_263_28_0)
(typeattributeset base_typeattr_263_28_0 ((and (domain) ((not (appdomain coredomain vendor_init_28_0))))))
(typeattribute base_typeattr_262_28_0)
(typeattributeset base_typeattr_262_28_0 ((and (core_property_type) ((not (audio_prop_28_0 config_prop_28_0 cppreopt_prop_28_0 dalvik_prop_28_0 debuggerd_prop_28_0 debug_prop_28_0 default_prop_28_0 dhcp_prop_28_0 dumpstate_prop_28_0 ffs_prop_28_0 fingerprint_prop_28_0 logd_prop_28_0 net_radio_prop_28_0 nfc_prop_28_0 pan_result_prop_28_0 persist_debug_prop_28_0 powerctl_prop_28_0 radio_prop_28_0 restorecon_prop_28_0 shell_prop_28_0 system_prop_28_0 system_radio_prop_28_0 vold_prop_28_0))))))
(typeattribute base_typeattr_261_28_0)
(typeattributeset base_typeattr_261_28_0 ((and (domain) ((not (perfprofd_28_0))))))
(typeattribute base_typeattr_260_28_0)
(typeattributeset base_typeattr_260_28_0 ((and (domain) ((not (performanced_28_0))))))
(typeattribute base_typeattr_259_28_0)
(typeattributeset base_typeattr_259_28_0 ((and (domain) ((not (init_28_0 netd_28_0))))))
(typeattribute base_typeattr_258_28_0)
(typeattributeset base_typeattr_258_28_0 ((and (domain) ((not (dumpstate_28_0 init_28_0 netd_28_0))))))
(typeattribute base_typeattr_257_28_0)
(typeattributeset base_typeattr_257_28_0 ((and (domain) ((not (dumpstate_28_0 netd_28_0 system_server_28_0))))))
(typeattribute base_typeattr_256_28_0)
(typeattributeset base_typeattr_256_28_0 ((and (domain) ((not (netd_28_0))))))
(typeattribute base_typeattr_255_28_0)
(typeattributeset base_typeattr_255_28_0 ((and (domain) ((not (mediaserver_28_0))))))
(typeattribute base_typeattr_254_28_0)
(typeattributeset base_typeattr_254_28_0 ((and (domain) ((not (mediametrics_28_0))))))
(typeattribute base_typeattr_253_28_0)
(typeattributeset base_typeattr_253_28_0 ((and (data_file_type) ((not (apk_data_file_28_0 zoneinfo_data_file_28_0))))))
(typeattribute base_typeattr_252_28_0)
(typeattributeset base_typeattr_252_28_0 ((and (domain) ((not (mediaextractor_28_0))))))
(typeattribute base_typeattr_251_28_0)
(typeattributeset base_typeattr_251_28_0 ((and (domain) ((not (mediadrmserver_28_0))))))
(typeattribute base_typeattr_250_28_0)
(typeattributeset base_typeattr_250_28_0 ((and (domain) ((not (mediacodec_28_0))))))
(typeattribute base_typeattr_249_28_0)
(typeattributeset base_typeattr_249_28_0 ((and (domain) ((not (init_28_0 logd_28_0))))))
(typeattribute base_typeattr_248_28_0)
(typeattributeset base_typeattr_248_28_0 ((and (domain) ((not (crash_dump_28_0))))))
(typeattribute base_typeattr_247_28_0)
(typeattributeset base_typeattr_247_28_0 ((and (domain) ((not (init_28_0 keystore_28_0))))))
(typeattribute base_typeattr_246_28_0)
(typeattributeset base_typeattr_246_28_0 ((and (domain) ((not (keystore_28_0))))))
(typeattribute base_typeattr_245_28_0)
(typeattributeset base_typeattr_245_28_0 ((and (domain) ((not (servicemanager_28_0 su_28_0 system_server_28_0))))))
(typeattribute base_typeattr_244_28_0)
(typeattributeset base_typeattr_244_28_0 ((and (domain) ((not (dumpstate_28_0 system_server_28_0))))))
(typeattribute base_typeattr_243_28_0)
(typeattributeset base_typeattr_243_28_0 ((and (domain) ((not (dumpstate_28_0 installd_28_0 system_server_28_0))))))
(typeattribute base_typeattr_242_28_0)
(typeattributeset base_typeattr_242_28_0 ((and (domain) ((not (installd_28_0))))))
(typeattribute base_typeattr_241_28_0)
(typeattributeset base_typeattr_241_28_0 ((and (domain) ((not (inputflinger_28_0))))))
(typeattribute base_typeattr_240_28_0)
(typeattributeset base_typeattr_240_28_0 ((and (fs_type file_type) ((not (init_exec_28_0))))))
(typeattribute base_typeattr_239_28_0)
(typeattributeset base_typeattr_239_28_0 ((and (dev_type) ((not (kmem_device_28_0 port_device_28_0))))))
(typeattribute base_typeattr_238_28_0)
(typeattributeset base_typeattr_238_28_0 ((and (dev_type) ((not (device_28_0 alarm_device_28_0 ashmem_device_28_0 binder_device_28_0 hwbinder_device_28_0 dm_device_28_0 keychord_device_28_0 console_device_28_0 hw_random_device_28_0 kmem_device_28_0 port_device_28_0 ptmx_device_28_0 kmsg_device_28_0 null_device_28_0 random_device_28_0 owntty_device_28_0 zero_device_28_0 devpts_28_0))))))
(typeattribute base_typeattr_237_28_0)
(typeattributeset base_typeattr_237_28_0 ((and (dev_type) ((not (device_28_0 vndbinder_device_28_0 kmem_device_28_0 port_device_28_0))))))
(typeattribute base_typeattr_236_28_0)
(typeattributeset base_typeattr_236_28_0 ((and (fs_type) ((not (contextmount_type sdcard_type rootfs_28_0))))))
(typeattribute base_typeattr_235_28_0)
(typeattributeset base_typeattr_235_28_0 ((and (fs_type) ((not (contextmount_type sysfs_type sdcard_type rootfs_28_0 proc_28_0))))))
(typeattribute base_typeattr_234_28_0)
(typeattributeset base_typeattr_234_28_0 ((and (file_type) ((not (exec_type vendor_file_type system_file_28_0))))))
(typeattribute base_typeattr_233_28_0)
(typeattributeset base_typeattr_233_28_0 ((and (file_type) ((not (exec_type vendor_file_type system_file_28_0 runtime_event_log_tags_file_28_0 shell_data_file_28_0 nativetest_data_file_28_0 keystore_data_file_28_0 vold_data_file_28_0 app_data_file_28_0 system_app_data_file_28_0 misc_logd_file_28_0))))))
(typeattribute base_typeattr_232_28_0)
(typeattributeset base_typeattr_232_28_0 ((and (file_type) ((not (exec_type vendor_file_type system_file_28_0 shell_data_file_28_0 nativetest_data_file_28_0 keystore_data_file_28_0 vold_data_file_28_0 app_data_file_28_0 system_app_data_file_28_0 misc_logd_file_28_0))))))
(typeattribute base_typeattr_231_28_0)
(typeattributeset base_typeattr_231_28_0 ((and (file_type) ((not (exec_type vendor_file_type system_file_28_0 nativetest_data_file_28_0 app_data_file_28_0 system_app_data_file_28_0 misc_logd_file_28_0))))))
(typeattribute base_typeattr_230_28_0)
(typeattributeset base_typeattr_230_28_0 ((and (domain) ((not (hal_wifi_supplicant_server))))))
(typeattribute base_typeattr_229_28_0)
(typeattributeset base_typeattr_229_28_0 ((and (domain) ((not (hal_wifi_offload_server))))))
(typeattribute base_typeattr_228_28_0)
(typeattributeset base_typeattr_228_28_0 ((and (domain) ((not (hal_wifi_hostapd_server))))))
(typeattribute base_typeattr_227_28_0)
(typeattributeset base_typeattr_227_28_0 ((and (domain) ((not (hal_wifi_server))))))
(typeattribute base_typeattr_226_28_0)
(typeattributeset base_typeattr_226_28_0 ((and (domain) ((not (hal_weaver_server))))))
(typeattribute base_typeattr_225_28_0)
(typeattributeset base_typeattr_225_28_0 ((and (domain) ((not (hal_vr_server))))))
(typeattribute base_typeattr_224_28_0)
(typeattributeset base_typeattr_224_28_0 ((and (domain) ((not (hal_vibrator_server))))))
(typeattribute base_typeattr_223_28_0)
(typeattributeset base_typeattr_223_28_0 ((and (domain) ((not (hal_vehicle_server))))))
(typeattribute base_typeattr_222_28_0)
(typeattributeset base_typeattr_222_28_0 ((and (domain) ((not (hal_usb_gadget_server))))))
(typeattribute base_typeattr_221_28_0)
(typeattributeset base_typeattr_221_28_0 ((and (domain) ((not (hal_usb_server))))))
(typeattribute base_typeattr_220_28_0)
(typeattributeset base_typeattr_220_28_0 ((and (domain) ((not (hal_tv_input_server))))))
(typeattribute base_typeattr_219_28_0)
(typeattributeset base_typeattr_219_28_0 ((and (domain) ((not (hal_tv_cec_server))))))
(typeattribute base_typeattr_218_28_0)
(typeattributeset base_typeattr_218_28_0 ((and (domain) ((not (hal_thermal_server))))))
(typeattribute base_typeattr_217_28_0)
(typeattributeset base_typeattr_217_28_0 ((and (domain) ((not (hal_telephony_server))))))
(typeattribute base_typeattr_216_28_0)
(typeattributeset base_typeattr_216_28_0 ((and (domain) ((not (hal_sensors_server))))))
(typeattribute base_typeattr_215_28_0)
(typeattributeset base_typeattr_215_28_0 ((and (domain) ((not (hal_secure_element_server))))))
(typeattribute base_typeattr_214_28_0)
(typeattributeset base_typeattr_214_28_0 ((and (domain) ((not (hal_power_server))))))
(typeattribute base_typeattr_213_28_0)
(typeattributeset base_typeattr_213_28_0 ((and (domain) ((not (hal_oemlock_server))))))
(typeattribute base_typeattr_212_28_0)
(typeattributeset base_typeattr_212_28_0 ((and (domain) ((not (hal_nfc_server))))))
(typeattribute base_typeattr_211_28_0)
(typeattributeset base_typeattr_211_28_0 ((and (halserverdomain) ((not (hal_dumpstate_server hal_telephony_server))))))
(typeattribute base_typeattr_210_28_0)
(typeattributeset base_typeattr_210_28_0 ((and (halserverdomain) ((not (hal_automotive_socket_exemption hal_telephony_server hal_tetheroffload_server hal_wifi_server hal_wifi_hostapd_server hal_wifi_supplicant_server))))))
(typeattribute base_typeattr_209_28_0)
(typeattributeset base_typeattr_209_28_0 ((and (halserverdomain) ((not (hal_bluetooth_server hal_telephony_server hal_wifi_server hal_wifi_hostapd_server hal_wifi_supplicant_server))))))
(typeattribute base_typeattr_208_28_0)
(typeattributeset base_typeattr_208_28_0 ((and (domain) ((not (hal_neuralnetworks_server))))))
(typeattribute base_typeattr_207_28_0)
(typeattributeset base_typeattr_207_28_0 ((and (domain) ((not (hal_memtrack_server))))))
(typeattribute base_typeattr_206_28_0)
(typeattributeset base_typeattr_206_28_0 ((and (domain) ((not (hal_lowpan_server init_28_0 ueventd_28_0))))))
(typeattribute base_typeattr_205_28_0)
(typeattributeset base_typeattr_205_28_0 ((and (domain) ((not (hal_lowpan_server))))))
(typeattribute base_typeattr_204_28_0)
(typeattributeset base_typeattr_204_28_0 ((and (domain) ((not (hal_light_server))))))
(typeattribute base_typeattr_203_28_0)
(typeattributeset base_typeattr_203_28_0 ((and (domain) ((not (hal_keymaster_server))))))
(typeattribute base_typeattr_202_28_0)
(typeattributeset base_typeattr_202_28_0 ((and (domain) ((not (hal_ir_server))))))
(typeattribute base_typeattr_201_28_0)
(typeattributeset base_typeattr_201_28_0 ((and (domain) ((not (hal_health_server))))))
(typeattribute base_typeattr_200_28_0)
(typeattributeset base_typeattr_200_28_0 ((and (domain) ((not (hal_graphics_composer_server))))))
(typeattribute base_typeattr_199_28_0)
(typeattributeset base_typeattr_199_28_0 ((and (domain) ((not (hal_graphics_allocator_server))))))
(typeattribute base_typeattr_198_28_0)
(typeattributeset base_typeattr_198_28_0 ((and (domain) ((not (hal_gnss_server))))))
(typeattribute base_typeattr_197_28_0)
(typeattributeset base_typeattr_197_28_0 ((and (domain) ((not (hal_gatekeeper_server))))))
(typeattribute base_typeattr_196_28_0)
(typeattributeset base_typeattr_196_28_0 ((and (domain) ((not (hal_fingerprint_server))))))
(typeattribute base_typeattr_195_28_0)
(typeattributeset base_typeattr_195_28_0 ((and (domain) ((not (hal_dumpstate_server))))))
(typeattribute base_typeattr_194_28_0)
(typeattributeset base_typeattr_194_28_0 ((and (domain) ((not (hal_drm_server))))))
(typeattribute base_typeattr_193_28_0)
(typeattributeset base_typeattr_193_28_0 ((and (domain) ((not (hal_contexthub_server))))))
(typeattribute base_typeattr_192_28_0)
(typeattributeset base_typeattr_192_28_0 ((and (domain) ((not (hal_confirmationui_server))))))
(typeattribute base_typeattr_191_28_0)
(typeattributeset base_typeattr_191_28_0 ((and (data_file_type) ((not (anr_data_file_28_0 tombstone_data_file_28_0 zoneinfo_data_file_28_0))))))
(typeattribute base_typeattr_190_28_0)
(typeattributeset base_typeattr_190_28_0 ((and (domain) ((not (hal_configstore_server logd_28_0 su_28_0 tombstoned_28_0))))))
(typeattribute base_typeattr_189_28_0)
(typeattributeset base_typeattr_189_28_0 ((and (domain) ((not (hal_configstore_server))))))
(typeattribute base_typeattr_188_28_0)
(typeattributeset base_typeattr_188_28_0 ((and (domain) ((not (hal_cas_server))))))
(typeattribute base_typeattr_187_28_0)
(typeattributeset base_typeattr_187_28_0 ((and (halserverdomain) ((not (hal_camera_server))))))
(typeattribute base_typeattr_186_28_0)
(typeattributeset base_typeattr_186_28_0 ((and (domain) ((not (hal_camera_server))))))
(typeattribute base_typeattr_185_28_0)
(typeattributeset base_typeattr_185_28_0 ((and (domain) ((not (hal_broadcastradio_server))))))
(typeattribute base_typeattr_184_28_0)
(typeattributeset base_typeattr_184_28_0 ((and (domain) ((not (hal_bootctl_server))))))
(typeattribute base_typeattr_183_28_0)
(typeattributeset base_typeattr_183_28_0 ((and (domain) ((not (hal_bluetooth_server))))))
(typeattribute base_typeattr_182_28_0)
(typeattributeset base_typeattr_182_28_0 ((and (domain) ((not (hal_authsecret_server))))))
(typeattribute base_typeattr_181_28_0)
(typeattributeset base_typeattr_181_28_0 ((and (domain) ((not (hal_audiocontrol_server))))))
(typeattribute base_typeattr_180_28_0)
(typeattributeset base_typeattr_180_28_0 ((and (halserverdomain) ((not (hal_audio_server))))))
(typeattribute base_typeattr_179_28_0)
(typeattributeset base_typeattr_179_28_0 ((and (domain) ((not (hal_audio_server))))))
(typeattribute base_typeattr_178_28_0)
(typeattributeset base_typeattr_178_28_0 ((and (domain) ((not (hal_allocator_server))))))
(typeattribute base_typeattr_177_28_0)
(typeattributeset base_typeattr_177_28_0 ((and (domain) ((not (gatekeeperd_28_0))))))
(typeattribute base_typeattr_176_28_0)
(typeattributeset base_typeattr_176_28_0 ((and (domain) ((not (vold_28_0))))))
(typeattribute base_typeattr_175_28_0)
(typeattributeset base_typeattr_175_28_0 ((and (fs_type file_type) ((not (fsck_exec_28_0))))))
(typeattribute base_typeattr_174_28_0)
(typeattributeset base_typeattr_174_28_0 ((and (domain) ((not (init_28_0 vold_28_0))))))
(typeattribute base_typeattr_173_28_0)
(typeattributeset base_typeattr_173_28_0 ((and (domain) ((not (fingerprintd_28_0))))))
(typeattribute base_typeattr_172_28_0)
(typeattributeset base_typeattr_172_28_0 ((and (domain) ((not (dumpstate_28_0 shell_28_0 system_server_28_0 traceur_app_28_0))))))
(typeattribute base_typeattr_171_28_0)
(typeattributeset base_typeattr_171_28_0 ((and (domain) ((not (dumpstate_28_0))))))
(typeattribute base_typeattr_170_28_0)
(typeattributeset base_typeattr_170_28_0 ((and (service_manager_type) ((not (dumpstate_service_28_0 gatekeeper_service_28_0 incident_service_28_0 virtual_touchpad_service_28_0 vold_service_28_0 vr_hwc_service_28_0))))))
(typeattribute base_typeattr_169_28_0)
(typeattributeset base_typeattr_169_28_0 ((and (domain) ((not (drmserver_28_0))))))
(typeattribute base_typeattr_168_28_0)
(typeattributeset base_typeattr_168_28_0 ((and (coredomain) ((not (init_28_0))))))
(typeattribute base_typeattr_167_28_0)
(typeattributeset base_typeattr_167_28_0 ((and (domain) ((not (traced_probes_28_0))))))
(typeattribute base_typeattr_166_28_0)
(typeattributeset base_typeattr_166_28_0 ((and (domain) ((not (dnsmasq_28_0 dumpstate_28_0 init_28_0 install_recovery_28_0 installd_28_0 lmkd_28_0 netd_28_0 perfprofd_28_0 postinstall_dexopt_28_0 recovery_28_0 sdcardd_28_0 tee_28_0 ueventd_28_0 uncrypt_28_0 vendor_init_28_0 vold_28_0 vold_prepare_subdirs_28_0 zygote_28_0))))))
(typeattribute base_typeattr_165_28_0)
(typeattributeset base_typeattr_165_28_0 ((and (coredomain) ((not (appdomain bootanim_28_0 crash_dump_28_0 init_28_0 kernel_28_0 perfprofd_28_0 ueventd_28_0))))))
(typeattribute base_typeattr_164_28_0)
(typeattributeset base_typeattr_164_28_0 ((not (coredomain))))
(typeattribute base_typeattr_163_28_0)
(typeattributeset base_typeattr_163_28_0 ((not (rootfs_28_0 system_file_28_0 vendor_file_28_0))))
(typeattribute base_typeattr_162_28_0)
(typeattributeset base_typeattr_162_28_0 ((and (domain) ((not (installd_28_0 profman_28_0))))))
(typeattribute base_typeattr_161_28_0)
(typeattributeset base_typeattr_161_28_0 ((and (domain) ((not (dumpstate_28_0 init_28_0 system_server_28_0 vendor_init_28_0))))))
(typeattribute base_typeattr_160_28_0)
(typeattributeset base_typeattr_160_28_0 ((not (hwservicemanager_28_0))))
(typeattribute base_typeattr_159_28_0)
(typeattributeset base_typeattr_159_28_0 ((not (servicemanager_28_0 vndservicemanager_28_0))))
(typeattribute base_typeattr_158_28_0)
(typeattributeset base_typeattr_158_28_0 ((and (domain) ((not (appdomain adbd_28_0 dumpstate_28_0 installd_28_0 uncrypt_28_0))))))
(typeattribute base_typeattr_157_28_0)
(typeattributeset base_typeattr_157_28_0 ((and (domain) ((not (appdomain adbd_28_0 dumpstate_28_0 init_28_0 installd_28_0 system_server_28_0 uncrypt_28_0))))))
(typeattribute base_typeattr_156_28_0)
(typeattributeset base_typeattr_156_28_0 ((and (domain) ((not (adbd_28_0 dumpstate_28_0 init_28_0 installd_28_0 shell_28_0 vold_28_0))))))
(typeattribute base_typeattr_155_28_0)
(typeattributeset base_typeattr_155_28_0 ((and (domain) ((not (installd_28_0 shell_28_0 uncrypt_28_0))))))
(typeattribute base_typeattr_154_28_0)
(typeattributeset base_typeattr_154_28_0 ((and (domain) ((not (appdomain installd_28_0 uncrypt_28_0))))))
(typeattribute base_typeattr_153_28_0)
(typeattributeset base_typeattr_153_28_0 ((and (domain) ((not (runas_28_0 webview_zygote_28_0 zygote_28_0))))))
(typeattribute base_typeattr_152_28_0)
(typeattributeset base_typeattr_152_28_0 ((and (domain) ((not (adbd_28_0 init_28_0 runas_28_0 zygote_28_0))))))
(typeattribute base_typeattr_151_28_0)
(typeattributeset base_typeattr_151_28_0 ((and (domain) ((not (appdomain installd_28_0))))))
(typeattribute base_typeattr_150_28_0)
(typeattributeset base_typeattr_150_28_0 ((and (domain) ((not (appdomain installd_28_0 system_server_28_0 traced_probes_28_0))))))
(typeattribute base_typeattr_149_28_0)
(typeattributeset base_typeattr_149_28_0 ((and (domain) ((not (init_28_0 installd_28_0 system_app_28_0 system_server_28_0 vold_prepare_subdirs_28_0))))))
(typeattribute base_typeattr_148_28_0)
(typeattributeset base_typeattr_148_28_0 ((not (domain))))
(typeattribute base_typeattr_147_28_0)
(typeattributeset base_typeattr_147_28_0 ((and (domain) ((not (untrusted_app_all))))))
(typeattribute base_typeattr_146_28_0)
(typeattributeset base_typeattr_146_28_0 ((and (file_type) ((not (apk_data_file_28_0 app_data_file_28_0 asec_public_file_28_0))))))
(typeattribute base_typeattr_145_28_0)
(typeattributeset base_typeattr_145_28_0 ((and (domain) ((not (dumpstate_28_0 shell_28_0 su_28_0))))))
(typeattribute base_typeattr_144_28_0)
(typeattributeset base_typeattr_144_28_0 ((and (domain) ((not (dumpstate_28_0 incidentd_28_0 system_server_28_0))))))
(typeattribute base_typeattr_143_28_0)
(typeattributeset base_typeattr_143_28_0 ((and (domain) ((not (crash_dump_28_0 dumpstate_28_0 incidentd_28_0 mediacodec_28_0 mediaextractor_28_0 system_server_28_0 tombstoned_28_0))))))
(typeattribute base_typeattr_142_28_0)
(typeattributeset base_typeattr_142_28_0 ((and (domain) ((not (system_server_28_0 webview_zygote_28_0))))))
(typeattribute base_typeattr_141_28_0)
(typeattributeset base_typeattr_141_28_0 ((and (domain) ((not (system_server_28_0))))))
(typeattribute base_typeattr_140_28_0)
(typeattributeset base_typeattr_140_28_0 ((and (domain) ((not (system_server_28_0 zygote_28_0))))))
(typeattribute base_typeattr_139_28_0)
(typeattributeset base_typeattr_139_28_0 ((and (domain) ((not (cppreopts_28_0 dex2oat_28_0 init_28_0 installd_28_0 otapreopt_slot_28_0 postinstall_dexopt_28_0 zygote_28_0))))))
(typeattribute base_typeattr_138_28_0)
(typeattributeset base_typeattr_138_28_0 ((and (coredomain) ((not (system_executes_vendor_violators shell_28_0))))))
(typeattribute base_typeattr_137_28_0)
(typeattributeset base_typeattr_137_28_0 ((and (vendor_file_type) ((not (vendor_app_file_28_0 same_process_hal_file_28_0 vndk_sp_file_28_0))))))
(typeattribute base_typeattr_136_28_0)
(typeattributeset base_typeattr_136_28_0 ((and (coredomain) ((not (system_executes_vendor_violators init_28_0 shell_28_0))))))
(typeattribute base_typeattr_135_28_0)
(typeattributeset base_typeattr_135_28_0 ((and (exec_type) ((not (vendor_file_type crash_dump_exec_28_0 netutils_wrapper_exec_28_0))))))
(typeattribute base_typeattr_134_28_0)
(typeattributeset base_typeattr_134_28_0 ((and (domain) ((not (appdomain coredomain vendor_executes_system_violators vendor_init_28_0))))))
(typeattribute base_typeattr_133_28_0)
(typeattributeset base_typeattr_133_28_0 ((and (coredomain) ((not (init_28_0 shell_28_0))))))
(typeattribute base_typeattr_132_28_0)
(typeattributeset base_typeattr_132_28_0 ((and (coredomain) ((not (appdomain idmap_28_0 init_28_0 installd_28_0 system_server_28_0 webview_zygote_28_0 zygote_28_0))))))
(typeattribute base_typeattr_131_28_0)
(typeattributeset base_typeattr_131_28_0 ((and (coredomain) ((not (appdomain dex2oat_28_0 idmap_28_0 init_28_0 installd_28_0 perfprofd_28_0 postinstall_dexopt_28_0 system_server_28_0))))))
(typeattribute base_typeattr_130_28_0)
(typeattributeset base_typeattr_130_28_0 ((and (coredomain) ((not (data_between_core_and_vendor_violators init_28_0))))))
(typeattribute base_typeattr_129_28_0)
(typeattributeset base_typeattr_129_28_0 ((and (coredomain) ((not (data_between_core_and_vendor_violators init_28_0 vold_28_0 vold_prepare_subdirs_28_0))))))
(typeattribute base_typeattr_128_28_0)
(typeattributeset base_typeattr_128_28_0 ((and (domain) ((not (appdomain coredomain data_between_core_and_vendor_violators))))))
(typeattribute base_typeattr_127_28_0)
(typeattributeset base_typeattr_127_28_0 ((and (core_data_file_type) ((not (system_data_file_28_0 vendor_data_file_28_0 unencrypted_data_file_28_0 zoneinfo_data_file_28_0))))))
(typeattribute base_typeattr_126_28_0)
(typeattributeset base_typeattr_126_28_0 ((and (core_data_file_type) ((not (system_data_file_28_0 vendor_data_file_28_0 zoneinfo_data_file_28_0))))))
(typeattribute base_typeattr_125_28_0)
(typeattributeset base_typeattr_125_28_0 ((and (core_data_file_type) ((not (unencrypted_data_file_28_0 zoneinfo_data_file_28_0))))))
(typeattribute base_typeattr_124_28_0)
(typeattributeset base_typeattr_124_28_0 ((and (vendor_init_28_0) ((not (data_between_core_and_vendor_violators))))))
(typeattribute base_typeattr_123_28_0)
(typeattributeset base_typeattr_123_28_0 ((and (core_data_file_type) ((not (zoneinfo_data_file_28_0))))))
(typeattribute base_typeattr_122_28_0)
(typeattributeset base_typeattr_122_28_0 ((and (domain) ((not (appdomain coredomain data_between_core_and_vendor_violators vendor_init_28_0))))))
(typeattribute base_typeattr_121_28_0)
(typeattributeset base_typeattr_121_28_0 ((and (data_file_type) ((not (core_data_file_type vendor_data_file_28_0))))))
(typeattribute base_typeattr_120_28_0)
(typeattributeset base_typeattr_120_28_0 ((and (data_file_type) ((not (core_data_file_type))))))
(typeattribute base_typeattr_119_28_0)
(typeattributeset base_typeattr_119_28_0 ((and (coredomain) ((not (appdomain data_between_core_and_vendor_violators init_28_0 vold_prepare_subdirs_28_0))))))
(typeattribute base_typeattr_118_28_0)
(typeattributeset base_typeattr_118_28_0 ((and (dev_type file_type) ((not (core_data_file_type coredomain_socket unlabeled_28_0))))))
(typeattribute base_typeattr_117_28_0)
(typeattributeset base_typeattr_117_28_0 ((and (coredomain) ((not (socket_between_core_and_vendor_violators init_28_0 ueventd_28_0))))))
(typeattribute base_typeattr_116_28_0)
(typeattributeset base_typeattr_116_28_0 ((and (core_data_file_type coredomain_socket unlabeled_28_0) ((not (pdx_endpoint_socket_type pdx_channel_socket_type app_data_file_28_0))))))
(typeattribute base_typeattr_115_28_0)
(typeattributeset base_typeattr_115_28_0 ((and (domain) ((not (appdomain coredomain socket_between_core_and_vendor_violators data_between_core_and_vendor_violators vendor_init_28_0))))))
(typeattribute base_typeattr_114_28_0)
(typeattributeset base_typeattr_114_28_0 ((and (domain) ((not (netdomain coredomain socket_between_core_and_vendor_violators))))))
(typeattribute base_typeattr_113_28_0)
(typeattributeset base_typeattr_113_28_0 ((and (coredomain) ((not (incidentd_28_0 init_28_0 logd_28_0 mdnsd_28_0 netd_28_0 su_28_0 tombstoned_28_0))))))
(typeattribute base_typeattr_112_28_0)
(typeattributeset base_typeattr_112_28_0 ((and (domain) ((not (appdomain coredomain socket_between_core_and_vendor_violators))))))
(typeattribute base_typeattr_111_28_0)
(typeattributeset base_typeattr_111_28_0 ((and (domain) ((not (coredomain socket_between_core_and_vendor_violators))))))
(typeattribute base_typeattr_110_28_0)
(typeattributeset base_typeattr_110_28_0 ((and (coredomain) ((not (adbd_28_0 init_28_0))))))
(typeattribute base_typeattr_109_28_0)
(typeattributeset base_typeattr_109_28_0 ((and (coredomain) ((not (shell_28_0 su_28_0))))))
(typeattribute base_typeattr_108_28_0)
(typeattributeset base_typeattr_108_28_0 ((and (coredomain) ((not (shell_28_0 su_28_0 ueventd_28_0))))))
(typeattribute base_typeattr_107_28_0)
(typeattributeset base_typeattr_107_28_0 ((and (service_manager_type) ((not (app_api_service ephemeral_app_api_service audioserver_service_28_0 cameraserver_service_28_0 drmserver_service_28_0 keystore_service_28_0 mediaserver_service_28_0 mediametrics_service_28_0 mediaextractor_service_28_0 mediadrmserver_service_28_0 nfc_service_28_0 radio_service_28_0 virtual_touchpad_service_28_0 vr_hwc_service_28_0 vr_manager_service_28_0))))))
(typeattribute base_typeattr_106_28_0)
(typeattributeset base_typeattr_106_28_0 ((and (appdomain) ((not (coredomain))))))
(typeattribute base_typeattr_105_28_0)
(typeattributeset base_typeattr_105_28_0 ((and (domain) ((not (appdomain coredomain binder_in_vendor_violators))))))
(typeattribute base_typeattr_104_28_0)
(typeattributeset base_typeattr_104_28_0 ((and (domain) ((not (hwservicemanager_28_0 servicemanager_28_0 vndservicemanager_28_0))))))
(typeattribute base_typeattr_103_28_0)
(typeattributeset base_typeattr_103_28_0 ((and (domain) ((not (domain hal_bootctl_server init_28_0 recovery_28_0 ueventd_28_0 uncrypt_28_0 update_engine_28_0 vendor_init_28_0 vold_28_0))))))
(typeattribute base_typeattr_102_28_0)
(typeattributeset base_typeattr_102_28_0 ((and (domain) ((not (install_recovery_28_0 recovery_28_0))))))
(typeattribute base_typeattr_101_28_0)
(typeattributeset base_typeattr_101_28_0 ((and (domain) ((not (recovery_28_0 update_engine_28_0))))))
(typeattribute base_typeattr_100_28_0)
(typeattributeset base_typeattr_100_28_0 ((and (domain) ((not (e2fs_28_0 fsck_28_0 init_28_0 recovery_28_0 vold_28_0))))))
(typeattribute base_typeattr_99_28_0)
(typeattributeset base_typeattr_99_28_0 ((and (domain) ((not (init_28_0 recovery_28_0 shell_28_0 system_server_28_0 ueventd_28_0))))))
(typeattribute base_typeattr_98_28_0)
(typeattributeset base_typeattr_98_28_0 ((and (domain) ((not (dumpstate_28_0 init_28_0 system_server_28_0))))))
(typeattribute base_typeattr_97_28_0)
(typeattributeset base_typeattr_97_28_0 ((and (domain) ((not (hal_drm_server hal_cas_server adbd_28_0 dumpstate_28_0 init_28_0 mediadrmserver_28_0 recovery_28_0 shell_28_0 system_server_28_0 vendor_init_28_0))))))
(typeattribute base_typeattr_96_28_0)
(typeattributeset base_typeattr_96_28_0 ((and (domain) ((not (coredomain vendor_init_28_0))))))
(typeattribute base_typeattr_95_28_0)
(typeattributeset base_typeattr_95_28_0 ((and (domain) ((not (init_28_0 system_server_28_0 vendor_init_28_0))))))
(typeattribute base_typeattr_94_28_0)
(typeattributeset base_typeattr_94_28_0 ((and (domain) ((not (init_28_0 system_server_28_0))))))
(typeattribute base_typeattr_93_28_0)
(typeattributeset base_typeattr_93_28_0 ((and (fs_type) ((not (contextmount_type))))))
(typeattribute base_typeattr_92_28_0)
(typeattributeset base_typeattr_92_28_0 ((and (domain) ((not (shell_28_0))))))
(typeattribute base_typeattr_91_28_0)
(typeattributeset base_typeattr_91_28_0 ((and (fs_type) ((not (rootfs_28_0))))))
(typeattribute base_typeattr_90_28_0)
(typeattributeset base_typeattr_90_28_0 ((and (domain) ((not (appdomain bootanim_28_0 recovery_28_0))))))
(typeattribute base_typeattr_89_28_0)
(typeattributeset base_typeattr_89_28_0 ((and (file_type) ((not (exec_type vendor_file_type system_file_28_0 postinstall_file_28_0))))))
(typeattribute base_typeattr_88_28_0)
(typeattributeset base_typeattr_88_28_0 ((and (domain) ((not (appdomain dumpstate_28_0 mediaextractor_28_0 shell_28_0 su_28_0 webview_zygote_28_0 zygote_28_0))))))
(typeattribute base_typeattr_87_28_0)
(typeattributeset base_typeattr_87_28_0 ((and (fs_type) ((not (sdcard_type))))))
(typeattribute base_typeattr_86_28_0)
(typeattributeset base_typeattr_86_28_0 ((and (domain) ((not (init_28_0 kernel_28_0 otapreopt_chroot_28_0 recovery_28_0 update_engine_28_0 vold_28_0 zygote_28_0))))))
(typeattribute base_typeattr_85_28_0)
(typeattributeset base_typeattr_85_28_0 ((and (domain) ((not (init_28_0 kernel_28_0 recovery_28_0))))))
(typeattribute base_typeattr_84_28_0)
(typeattributeset base_typeattr_84_28_0 ((and (domain) ((not (init_28_0 vendor_init_28_0))))))
(typeattribute base_typeattr_83_28_0)
(typeattributeset base_typeattr_83_28_0 ((and (domain) ((not (init_28_0 ueventd_28_0))))))
(typeattribute base_typeattr_82_28_0)
(typeattributeset base_typeattr_82_28_0 ((and (domain) ((not (shell_28_0 ueventd_28_0))))))
(typeattribute base_typeattr_81_28_0)
(typeattributeset base_typeattr_81_28_0 ((and (file_type) ((not (exec_type postinstall_file_28_0))))))
(typeattribute base_typeattr_80_28_0)
(typeattributeset base_typeattr_80_28_0 ((and (domain) ((not (init_28_0 shell_28_0 ueventd_28_0 vendor_init_28_0))))))
(typeattribute base_typeattr_79_28_0)
(typeattributeset base_typeattr_79_28_0 ((and (domain) ((not (init_28_0 shell_28_0 system_server_28_0 ueventd_28_0))))))
(typeattribute base_typeattr_78_28_0)
(typeattributeset base_typeattr_78_28_0 ((and (domain) ((not (kernel_28_0))))))
(typeattribute base_typeattr_77_28_0)
(typeattributeset base_typeattr_77_28_0 ((and (domain) ((not (domain healthd_28_0 init_28_0 kernel_28_0 recovery_28_0 tee_28_0 ueventd_28_0 uncrypt_28_0))))))
(typeattribute base_typeattr_76_28_0)
(typeattributeset base_typeattr_76_28_0 ((and (domain) ((not (init_28_0 kernel_28_0 ueventd_28_0 vold_28_0))))))
(typeattribute base_typeattr_75_28_0)
(typeattributeset base_typeattr_75_28_0 ((and (domain) ((not (init_28_0 recovery_28_0))))))
(typeattribute base_typeattr_74_28_0)
(typeattributeset base_typeattr_74_28_0 ((and (domain) ((not (domain))))))
(typeattribute base_typeattr_73_28_0)
(typeattributeset base_typeattr_73_28_0 ((and (domain) ((not (coredomain))))))
(typeattribute base_typeattr_72_28_0)
(typeattributeset base_typeattr_72_28_0 ((and (domain) ((not (appdomain coredomain))))))
(typeattribute base_typeattr_71_28_0)
(typeattributeset base_typeattr_71_28_0 ((and (domain) ((not (isolated_app_28_0 servicemanager_28_0 vndservicemanager_28_0))))))
(typeattribute base_typeattr_70_28_0)
(typeattributeset base_typeattr_70_28_0 ((and (appdomain coredomain binder_in_vendor_violators) ((not (hwservicemanager_28_0))))))
(typeattribute base_typeattr_69_28_0)
(typeattributeset base_typeattr_69_28_0 ((and (domain) ((not (init_28_0))))))
(typeattribute base_typeattr_68_28_0)
(typeattributeset base_typeattr_68_28_0 ((and (domain) ((not (display_service_server))))))
(typeattribute base_typeattr_67_28_0)
(typeattributeset base_typeattr_67_28_0 ((and (domain) ((not (crash_dump_28_0 init_28_0 keystore_28_0 logd_28_0))))))
(typeattribute base_typeattr_66_28_0)
(typeattributeset base_typeattr_66_28_0 ((and (domain) ((not (cameraserver_28_0))))))
(typeattribute base_typeattr_65_28_0)
(typeattributeset base_typeattr_65_28_0 ((and (domain) ((not (bufferhubd_28_0))))))
(typeattribute base_typeattr_64_28_0)
(typeattributeset base_typeattr_64_28_0 ((and (domain) ((not (bootstat_28_0 init_28_0))))))
(typeattribute base_typeattr_63_28_0)
(typeattributeset base_typeattr_63_28_0 ((and (domain) ((not (bootstat_28_0 init_28_0 system_server_28_0))))))
(typeattribute base_typeattr_62_28_0)
(typeattributeset base_typeattr_62_28_0 ((and (domain) ((not (bootanim_28_0 bootstat_28_0 dumpstate_28_0 init_28_0 recovery_28_0 shell_28_0 system_server_28_0))))))
(typeattribute base_typeattr_61_28_0)
(typeattributeset base_typeattr_61_28_0 ((and (appdomain) ((not (bluetooth_28_0 system_app_28_0))))))
(typeattribute base_typeattr_60_28_0)
(typeattributeset base_typeattr_60_28_0 ((and (data_file_type) ((not (system_data_file_28_0 apk_data_file_28_0 dalvikcache_data_file_28_0))))))
(typeattribute base_typeattr_59_28_0)
(typeattributeset base_typeattr_59_28_0 ((all)))
(typeattribute base_typeattr_58_28_0)
(typeattributeset base_typeattr_58_28_0 ((and (appdomain) ((not (bluetooth_28_0 nfc_28_0))))))
(typeattribute base_typeattr_57_28_0)
(typeattributeset base_typeattr_57_28_0 ((and (appdomain) ((not (untrusted_app_all platform_app_28_0 priv_app_28_0))))))
(typeattribute base_typeattr_56_28_0)
(typeattributeset base_typeattr_56_28_0 ((and (appdomain) ((not (platform_app_28_0))))))
(typeattribute base_typeattr_55_28_0)
(typeattributeset base_typeattr_55_28_0 ((and (domain) ((not (appdomain crash_dump_28_0))))))
(typeattribute base_typeattr_54_28_0)
(typeattributeset base_typeattr_54_28_0 ((and (appdomain) ((not (shell_28_0 su_28_0))))))
(typeattribute base_typeattr_53_28_0)
(typeattributeset base_typeattr_53_28_0 ((and (appdomain) ((not (shell_28_0))))))
(typeattribute base_typeattr_52_28_0)
(typeattributeset base_typeattr_52_28_0 ((and (domain) ((not (appdomain))))))
(typeattribute base_typeattr_51_28_0)
(typeattributeset base_typeattr_51_28_0 ((and (appdomain) ((not (radio_28_0))))))
(typeattribute base_typeattr_50_28_0)
(typeattributeset base_typeattr_50_28_0 ((and (appdomain) ((not (nfc_28_0))))))
(typeattribute base_typeattr_49_28_0)
(typeattributeset base_typeattr_49_28_0 ((and (appdomain) ((not (su_28_0))))))
(typeattribute base_typeattr_48_28_0)
(typeattributeset base_typeattr_48_28_0 ((and (appdomain) ((not (bluetooth_28_0))))))
(typeattribute base_typeattr_47_28_0)
(typeattributeset base_typeattr_47_28_0 ((and (appdomain untrusted_v2_app_28_0) ((not (ephemeral_app_28_0))))))
(typeattribute base_typeattr_46_28_0)
(typeattributeset base_typeattr_46_28_0 ((and (appdomain) ((not (ephemeral_app_28_0 isolated_app_28_0))))))
(typeattribute base_typeattr_45_28_0)
(typeattributeset base_typeattr_45_28_0 ((and (appdomain) ((not (untrusted_v2_app_28_0))))))
(typeattribute base_typeattr_44_28_0)
(typeattributeset base_typeattr_44_28_0 ((and (appdomain) ((not (ephemeral_app_28_0 untrusted_v2_app_28_0))))))
(typeattribute base_typeattr_43_28_0)
(typeattributeset base_typeattr_43_28_0 ((and (appdomain) ((not (isolated_app_28_0))))))
(typeattribute base_typeattr_42_28_0)
(typeattributeset base_typeattr_42_28_0 ((and (hal_wifi_supplicant_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_41_28_0)
(typeattributeset base_typeattr_41_28_0 ((and (hal_wifi_offload_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_40_28_0)
(typeattributeset base_typeattr_40_28_0 ((and (hal_wifi_hostapd_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_39_28_0)
(typeattributeset base_typeattr_39_28_0 ((and (hal_wifi_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_38_28_0)
(typeattributeset base_typeattr_38_28_0 ((and (hal_weaver_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_37_28_0)
(typeattributeset base_typeattr_37_28_0 ((and (hal_vr_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_36_28_0)
(typeattributeset base_typeattr_36_28_0 ((and (hal_vibrator_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_35_28_0)
(typeattributeset base_typeattr_35_28_0 ((and (hal_vehicle_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_34_28_0)
(typeattributeset base_typeattr_34_28_0 ((and (hal_usb_gadget_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_33_28_0)
(typeattributeset base_typeattr_33_28_0 ((and (hal_usb_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_32_28_0)
(typeattributeset base_typeattr_32_28_0 ((and (hal_tv_input_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_31_28_0)
(typeattributeset base_typeattr_31_28_0 ((and (hal_tv_cec_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_30_28_0)
(typeattributeset base_typeattr_30_28_0 ((and (hal_thermal_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_29_28_0)
(typeattributeset base_typeattr_29_28_0 ((and (hal_tetheroffload_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_28_28_0)
(typeattributeset base_typeattr_28_28_0 ((and (hal_telephony_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_27_28_0)
(typeattributeset base_typeattr_27_28_0 ((and (hal_sensors_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_26_28_0)
(typeattributeset base_typeattr_26_28_0 ((and (hal_secure_element_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_25_28_0)
(typeattributeset base_typeattr_25_28_0 ((and (hal_power_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_24_28_0)
(typeattributeset base_typeattr_24_28_0 ((and (hal_oemlock_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_23_28_0)
(typeattributeset base_typeattr_23_28_0 ((and (hal_nfc_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_22_28_0)
(typeattributeset base_typeattr_22_28_0 ((and (hal_neuralnetworks_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_21_28_0)
(typeattributeset base_typeattr_21_28_0 ((and (hal_memtrack_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_20_28_0)
(typeattributeset base_typeattr_20_28_0 ((and (hal_lowpan_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_19_28_0)
(typeattributeset base_typeattr_19_28_0 ((and (hal_light_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_18_28_0)
(typeattributeset base_typeattr_18_28_0 ((and (hal_keymaster_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_17_28_0)
(typeattributeset base_typeattr_17_28_0 ((and (hal_ir_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_16_28_0)
(typeattributeset base_typeattr_16_28_0 ((and (hal_health_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_15_28_0)
(typeattributeset base_typeattr_15_28_0 ((and (hal_graphics_composer_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_14_28_0)
(typeattributeset base_typeattr_14_28_0 ((and (hal_graphics_allocator_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_13_28_0)
(typeattributeset base_typeattr_13_28_0 ((and (hal_gnss_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_12_28_0)
(typeattributeset base_typeattr_12_28_0 ((and (hal_gatekeeper_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_11_28_0)
(typeattributeset base_typeattr_11_28_0 ((and (hal_fingerprint_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_10_28_0)
(typeattributeset base_typeattr_10_28_0 ((and (hal_evs_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_9_28_0)
(typeattributeset base_typeattr_9_28_0 ((and (hal_dumpstate_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_8_28_0)
(typeattributeset base_typeattr_8_28_0 ((and (hal_contexthub_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_7_28_0)
(typeattributeset base_typeattr_7_28_0 ((and (hal_confirmationui_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_6_28_0)
(typeattributeset base_typeattr_6_28_0 ((and (hal_configstore_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_5_28_0)
(typeattributeset base_typeattr_5_28_0 ((and (hal_broadcastradio_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_4_28_0)
(typeattributeset base_typeattr_4_28_0 ((and (hal_bluetooth_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_3_28_0)
(typeattributeset base_typeattr_3_28_0 ((and (hal_authsecret_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_2_28_0)
(typeattributeset base_typeattr_2_28_0 ((and (hal_audiocontrol_server) ((not (halserverdomain))))))
(typeattribute base_typeattr_1_28_0)
(typeattributeset base_typeattr_1_28_0 ((and (hal_allocator_server) ((not (halserverdomain))))))
