1*e4a36f41SAndroid Build Coastguard Worker###################################### 2*e4a36f41SAndroid Build Coastguard Worker# Attribute declarations 3*e4a36f41SAndroid Build Coastguard Worker# 4*e4a36f41SAndroid Build Coastguard Worker 5*e4a36f41SAndroid Build Coastguard Worker# All types used for devices. 6*e4a36f41SAndroid Build Coastguard Worker# On change, update CHECK_FC_ASSERT_ATTRS 7*e4a36f41SAndroid Build Coastguard Worker# in tools/checkfc.c 8*e4a36f41SAndroid Build Coastguard Workerattribute dev_type; 9*e4a36f41SAndroid Build Coastguard Worker 10*e4a36f41SAndroid Build Coastguard Worker# Attribute for all bpf filesystem subtypes. 11*e4a36f41SAndroid Build Coastguard Workerattribute bpffs_type; 12*e4a36f41SAndroid Build Coastguard Worker 13*e4a36f41SAndroid Build Coastguard Worker# All types used for processes. 14*e4a36f41SAndroid Build Coastguard Workerattribute domain; 15*e4a36f41SAndroid Build Coastguard Worker 16*e4a36f41SAndroid Build Coastguard Worker# All types used for filesystems. 17*e4a36f41SAndroid Build Coastguard Worker# On change, update CHECK_FC_ASSERT_ATTRS 18*e4a36f41SAndroid Build Coastguard Worker# definition in tools/checkfc.c. 19*e4a36f41SAndroid Build Coastguard Workerattribute fs_type; 20*e4a36f41SAndroid Build Coastguard Worker 21*e4a36f41SAndroid Build Coastguard Worker# All types used for context= mounts. 22*e4a36f41SAndroid Build Coastguard Workerattribute contextmount_type; 23*e4a36f41SAndroid Build Coastguard Worker 24*e4a36f41SAndroid Build Coastguard Worker# All types referencing a FUSE filesystem. 25*e4a36f41SAndroid Build Coastguard Worker# When mounting a new FUSE filesystem, the fscontext= option should be used to 26*e4a36f41SAndroid Build Coastguard Worker# set a domain-specific type with this attribute. See app_fusefs for an 27*e4a36f41SAndroid Build Coastguard Worker# example. 28*e4a36f41SAndroid Build Coastguard Workerattribute fusefs_type; 29*e4a36f41SAndroid Build Coastguard Worker 30*e4a36f41SAndroid Build Coastguard Worker# All types used for files that can exist on a labeled fs. 31*e4a36f41SAndroid Build Coastguard Worker# Do not use for pseudo file types. 32*e4a36f41SAndroid Build Coastguard Worker# On change, update CHECK_FC_ASSERT_ATTRS 33*e4a36f41SAndroid Build Coastguard Worker# definition in tools/checkfc.c. 34*e4a36f41SAndroid Build Coastguard Workerattribute file_type; 35*e4a36f41SAndroid Build Coastguard Worker 36*e4a36f41SAndroid Build Coastguard Worker# All types used for domain entry points. 37*e4a36f41SAndroid Build Coastguard Workerattribute exec_type; 38*e4a36f41SAndroid Build Coastguard Worker 39*e4a36f41SAndroid Build Coastguard Worker# All types used for /data files. 40*e4a36f41SAndroid Build Coastguard Workerattribute data_file_type; 41*e4a36f41SAndroid Build Coastguard Workerexpandattribute data_file_type false; 42*e4a36f41SAndroid Build Coastguard Worker# All types in /data, not in /data/vendor 43*e4a36f41SAndroid Build Coastguard Workerattribute core_data_file_type; 44*e4a36f41SAndroid Build Coastguard Workerexpandattribute core_data_file_type false; 45*e4a36f41SAndroid Build Coastguard Worker 46*e4a36f41SAndroid Build Coastguard Worker# All types used for app private data files in seapp_contexts. 47*e4a36f41SAndroid Build Coastguard Worker# Such types should not be applied to any other files. 48*e4a36f41SAndroid Build Coastguard Workerattribute app_data_file_type; 49*e4a36f41SAndroid Build Coastguard Workerexpandattribute app_data_file_type false; 50*e4a36f41SAndroid Build Coastguard Worker 51*e4a36f41SAndroid Build Coastguard Worker# All types in /system 52*e4a36f41SAndroid Build Coastguard Workerattribute system_file_type; 53*e4a36f41SAndroid Build Coastguard Worker 54*e4a36f41SAndroid Build Coastguard Worker# All types in /system_dlkm 55*e4a36f41SAndroid Build Coastguard Workerattribute system_dlkm_file_type; 56*e4a36f41SAndroid Build Coastguard Worker 57*e4a36f41SAndroid Build Coastguard Worker# All types in /vendor 58*e4a36f41SAndroid Build Coastguard Workerattribute vendor_file_type; 59*e4a36f41SAndroid Build Coastguard Worker 60*e4a36f41SAndroid Build Coastguard Worker# All types used for procfs files. 61*e4a36f41SAndroid Build Coastguard Workerattribute proc_type; 62*e4a36f41SAndroid Build Coastguard Workerexpandattribute proc_type false; 63*e4a36f41SAndroid Build Coastguard Worker 64*e4a36f41SAndroid Build Coastguard Worker# Types in /proc/net, excluding qtaguid types. 65*e4a36f41SAndroid Build Coastguard Worker# TODO(b/9496886) Lock down access to /proc/net. 66*e4a36f41SAndroid Build Coastguard Worker# This attribute is used to audit access to proc_net. it is temporary and will 67*e4a36f41SAndroid Build Coastguard Worker# be removed. 68*e4a36f41SAndroid Build Coastguard Workerattribute proc_net_type; 69*e4a36f41SAndroid Build Coastguard Workerexpandattribute proc_net_type true; 70*e4a36f41SAndroid Build Coastguard Worker 71*e4a36f41SAndroid Build Coastguard Worker# All types used for sysfs files. 72*e4a36f41SAndroid Build Coastguard Workerattribute sysfs_type; 73*e4a36f41SAndroid Build Coastguard Worker 74*e4a36f41SAndroid Build Coastguard Worker# All types use for debugfs files. 75*e4a36f41SAndroid Build Coastguard Workerattribute debugfs_type; 76*e4a36f41SAndroid Build Coastguard Worker 77*e4a36f41SAndroid Build Coastguard Worker# All types used for tracefs files. 78*e4a36f41SAndroid Build Coastguard Workerattribute tracefs_type; 79*e4a36f41SAndroid Build Coastguard Worker 80*e4a36f41SAndroid Build Coastguard Worker# Attribute used for all sdcards 81*e4a36f41SAndroid Build Coastguard Workerattribute sdcard_type; 82*e4a36f41SAndroid Build Coastguard Worker 83*e4a36f41SAndroid Build Coastguard Worker# All types used for nodes/hosts. 84*e4a36f41SAndroid Build Coastguard Workerattribute node_type; 85*e4a36f41SAndroid Build Coastguard Worker 86*e4a36f41SAndroid Build Coastguard Worker# All types used for network interfaces. 87*e4a36f41SAndroid Build Coastguard Workerattribute netif_type; 88*e4a36f41SAndroid Build Coastguard Worker 89*e4a36f41SAndroid Build Coastguard Worker# All types used for network ports. 90*e4a36f41SAndroid Build Coastguard Workerattribute port_type; 91*e4a36f41SAndroid Build Coastguard Worker 92*e4a36f41SAndroid Build Coastguard Worker# All types used for property service 93*e4a36f41SAndroid Build Coastguard Worker# On change, update CHECK_PC_ASSERT_ATTRS 94*e4a36f41SAndroid Build Coastguard Worker# definition in tools/checkfc.c. 95*e4a36f41SAndroid Build Coastguard Workerattribute property_type; 96*e4a36f41SAndroid Build Coastguard Worker 97*e4a36f41SAndroid Build Coastguard Worker# All properties defined in core SELinux policy. Should not be 98*e4a36f41SAndroid Build Coastguard Worker# used by device specific properties 99*e4a36f41SAndroid Build Coastguard Workerattribute core_property_type; 100*e4a36f41SAndroid Build Coastguard Worker 101*e4a36f41SAndroid Build Coastguard Worker# All properties used to configure log filtering. 102*e4a36f41SAndroid Build Coastguard Workerattribute log_property_type; 103*e4a36f41SAndroid Build Coastguard Worker 104*e4a36f41SAndroid Build Coastguard Worker# All properties that are not specific to device but are added from 105*e4a36f41SAndroid Build Coastguard Worker# outside of AOSP. (e.g. OEM-specific properties) 106*e4a36f41SAndroid Build Coastguard Worker# These properties are not accessible from device-specific domains 107*e4a36f41SAndroid Build Coastguard Workerattribute extended_core_property_type; 108*e4a36f41SAndroid Build Coastguard Worker 109*e4a36f41SAndroid Build Coastguard Worker# Properties used for representing ownership. All properties should have one 110*e4a36f41SAndroid Build Coastguard Worker# of: system_property_type, product_property_type, or vendor_property_type. 111*e4a36f41SAndroid Build Coastguard Worker 112*e4a36f41SAndroid Build Coastguard Worker# All properties defined by /system. 113*e4a36f41SAndroid Build Coastguard Workerattribute system_property_type; 114*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_property_type false; 115*e4a36f41SAndroid Build Coastguard Worker 116*e4a36f41SAndroid Build Coastguard Worker# All /system-defined properties used only in /system. 117*e4a36f41SAndroid Build Coastguard Workerattribute system_internal_property_type; 118*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_internal_property_type false; 119*e4a36f41SAndroid Build Coastguard Worker 120*e4a36f41SAndroid Build Coastguard Worker# All /system-defined properties which can't be written outside /system. 121*e4a36f41SAndroid Build Coastguard Workerattribute system_restricted_property_type; 122*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_restricted_property_type false; 123*e4a36f41SAndroid Build Coastguard Worker 124*e4a36f41SAndroid Build Coastguard Worker# All /system-defined properties with no restrictions. 125*e4a36f41SAndroid Build Coastguard Workerattribute system_public_property_type; 126*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_public_property_type false; 127*e4a36f41SAndroid Build Coastguard Worker 128*e4a36f41SAndroid Build Coastguard Worker# All keystore2_key labels. 129*e4a36f41SAndroid Build Coastguard Workerattribute keystore2_key_type; 130*e4a36f41SAndroid Build Coastguard Worker 131*e4a36f41SAndroid Build Coastguard Worker# All properties defined by /product. 132*e4a36f41SAndroid Build Coastguard Worker# Currently there are no enforcements between /system and /product, so for now 133*e4a36f41SAndroid Build Coastguard Worker# /product attributes are just replaced to /system attributes. 134*e4a36f41SAndroid Build Coastguard Workerdefine(`product_property_type', `system_property_type') 135*e4a36f41SAndroid Build Coastguard Workerdefine(`product_internal_property_type', `system_internal_property_type') 136*e4a36f41SAndroid Build Coastguard Workerdefine(`product_restricted_property_type', `system_restricted_property_type') 137*e4a36f41SAndroid Build Coastguard Workerdefine(`product_public_property_type', `system_public_property_type') 138*e4a36f41SAndroid Build Coastguard Worker 139*e4a36f41SAndroid Build Coastguard Worker# All properties defined by /vendor. 140*e4a36f41SAndroid Build Coastguard Workerattribute vendor_property_type; 141*e4a36f41SAndroid Build Coastguard Workerexpandattribute vendor_property_type false; 142*e4a36f41SAndroid Build Coastguard Worker 143*e4a36f41SAndroid Build Coastguard Worker# All /vendor-defined properties used only in /vendor. 144*e4a36f41SAndroid Build Coastguard Workerattribute vendor_internal_property_type; 145*e4a36f41SAndroid Build Coastguard Workerexpandattribute vendor_internal_property_type false; 146*e4a36f41SAndroid Build Coastguard Worker 147*e4a36f41SAndroid Build Coastguard Worker# All /vendor-defined properties which can't be written outside /vendor. 148*e4a36f41SAndroid Build Coastguard Workerattribute vendor_restricted_property_type; 149*e4a36f41SAndroid Build Coastguard Workerexpandattribute vendor_restricted_property_type false; 150*e4a36f41SAndroid Build Coastguard Worker 151*e4a36f41SAndroid Build Coastguard Worker# All /vendor-defined properties with no restrictions. 152*e4a36f41SAndroid Build Coastguard Workerattribute vendor_public_property_type; 153*e4a36f41SAndroid Build Coastguard Workerexpandattribute vendor_public_property_type false; 154*e4a36f41SAndroid Build Coastguard Worker 155*e4a36f41SAndroid Build Coastguard Worker# All service_manager types created by system_server 156*e4a36f41SAndroid Build Coastguard Workerattribute system_server_service; 157*e4a36f41SAndroid Build Coastguard Worker 158*e4a36f41SAndroid Build Coastguard Worker# services which should be available to all but isolated apps 159*e4a36f41SAndroid Build Coastguard Workerattribute app_api_service; 160*e4a36f41SAndroid Build Coastguard Worker 161*e4a36f41SAndroid Build Coastguard Worker# services which should be available to all ephemeral apps 162*e4a36f41SAndroid Build Coastguard Workerattribute ephemeral_app_api_service; 163*e4a36f41SAndroid Build Coastguard Worker 164*e4a36f41SAndroid Build Coastguard Worker# services which export only system_api 165*e4a36f41SAndroid Build Coastguard Workerattribute system_api_service; 166*e4a36f41SAndroid Build Coastguard Worker 167*e4a36f41SAndroid Build Coastguard Worker# services which are explicitly disallowed for untrusted apps to access 168*e4a36f41SAndroid Build Coastguard Workerattribute protected_service; 169*e4a36f41SAndroid Build Coastguard Worker 170*e4a36f41SAndroid Build Coastguard Worker# All types used for services managed by servicemanager. 171*e4a36f41SAndroid Build Coastguard Worker# On change, update CHECK_SC_ASSERT_ATTRS 172*e4a36f41SAndroid Build Coastguard Worker# definition in tools/checkfc.c. 173*e4a36f41SAndroid Build Coastguard Workerattribute service_manager_type; 174*e4a36f41SAndroid Build Coastguard Worker 175*e4a36f41SAndroid Build Coastguard Worker# All types used for services managed by hwservicemanager 176*e4a36f41SAndroid Build Coastguard Workerattribute hwservice_manager_type; 177*e4a36f41SAndroid Build Coastguard Worker 178*e4a36f41SAndroid Build Coastguard Worker# All HwBinder services guaranteed to be passthrough. These services always run 179*e4a36f41SAndroid Build Coastguard Worker# in the process of their clients, and thus operate with the same access as 180*e4a36f41SAndroid Build Coastguard Worker# their clients. 181*e4a36f41SAndroid Build Coastguard Workerattribute same_process_hwservice; 182*e4a36f41SAndroid Build Coastguard Worker 183*e4a36f41SAndroid Build Coastguard Worker# All HwBinder services guaranteed to be offered only by core domain components 184*e4a36f41SAndroid Build Coastguard Workerattribute coredomain_hwservice; 185*e4a36f41SAndroid Build Coastguard Worker 186*e4a36f41SAndroid Build Coastguard Worker# All HwBinder services that untrusted apps can't directly access 187*e4a36f41SAndroid Build Coastguard Workerattribute protected_hwservice; 188*e4a36f41SAndroid Build Coastguard Worker 189*e4a36f41SAndroid Build Coastguard Worker# All types used for services managed by vndservicemanager 190*e4a36f41SAndroid Build Coastguard Workerattribute vndservice_manager_type; 191*e4a36f41SAndroid Build Coastguard Worker 192*e4a36f41SAndroid Build Coastguard Worker# All services declared as part of an HAL 193*e4a36f41SAndroid Build Coastguard Workerattribute hal_service_type; 194*e4a36f41SAndroid Build Coastguard Worker 195*e4a36f41SAndroid Build Coastguard Worker# All domains that can override MLS restrictions. 196*e4a36f41SAndroid Build Coastguard Worker# i.e. processes that can read up and write down. 197*e4a36f41SAndroid Build Coastguard Workerattribute mlstrustedsubject; 198*e4a36f41SAndroid Build Coastguard Worker 199*e4a36f41SAndroid Build Coastguard Worker# All types that can override MLS restrictions. 200*e4a36f41SAndroid Build Coastguard Worker# i.e. files that can be read by lower and written by higher 201*e4a36f41SAndroid Build Coastguard Workerattribute mlstrustedobject; 202*e4a36f41SAndroid Build Coastguard Worker 203*e4a36f41SAndroid Build Coastguard Worker# All domains used for apps. 204*e4a36f41SAndroid Build Coastguard Workerattribute appdomain; 205*e4a36f41SAndroid Build Coastguard Worker 206*e4a36f41SAndroid Build Coastguard Worker# All third party apps (except isolated_app and ephemeral_app) 207*e4a36f41SAndroid Build Coastguard Workerattribute untrusted_app_all; 208*e4a36f41SAndroid Build Coastguard Worker 209*e4a36f41SAndroid Build Coastguard Worker# All apps with UID between AID_ISOLATED_START (99000) and AID_ISOLATED_END (99999). 210*e4a36f41SAndroid Build Coastguard Workerattribute isolated_app_all; 211*e4a36f41SAndroid Build Coastguard Worker 212*e4a36f41SAndroid Build Coastguard Worker# All service types that would be allowed for isolated_compute_app. 213*e4a36f41SAndroid Build Coastguard Workerattribute isolated_compute_allowed_service; 214*e4a36f41SAndroid Build Coastguard Worker 215*e4a36f41SAndroid Build Coastguard Worker# All device types that would be allowed for isolated_compute_app. 216*e4a36f41SAndroid Build Coastguard Workerattribute isolated_compute_allowed_device; 217*e4a36f41SAndroid Build Coastguard Worker 218*e4a36f41SAndroid Build Coastguard Worker# All domains used for apps with network access. 219*e4a36f41SAndroid Build Coastguard Workerattribute netdomain; 220*e4a36f41SAndroid Build Coastguard Worker 221*e4a36f41SAndroid Build Coastguard Worker# All domains used for apps with bluetooth access. 222*e4a36f41SAndroid Build Coastguard Workerattribute bluetoothdomain; 223*e4a36f41SAndroid Build Coastguard Worker 224*e4a36f41SAndroid Build Coastguard Worker# Specific domains that expose a binder service. 225*e4a36f41SAndroid Build Coastguard Worker# Deprecated, consider granting the exact permissions required by your service. 226*e4a36f41SAndroid Build Coastguard Workerattribute binderservicedomain; 227*e4a36f41SAndroid Build Coastguard Worker 228*e4a36f41SAndroid Build Coastguard Worker# All domains which have BPF access. 229*e4a36f41SAndroid Build Coastguard Workerattribute bpfdomain; 230*e4a36f41SAndroid Build Coastguard Workerexpandattribute bpfdomain false; 231*e4a36f41SAndroid Build Coastguard Worker 232*e4a36f41SAndroid Build Coastguard Worker# update_engine related domains that need to apply an update and run 233*e4a36f41SAndroid Build Coastguard Worker# postinstall. This includes the background daemon and the sideload tool from 234*e4a36f41SAndroid Build Coastguard Worker# recovery for A/B devices. 235*e4a36f41SAndroid Build Coastguard Workerattribute update_engine_common; 236*e4a36f41SAndroid Build Coastguard Worker 237*e4a36f41SAndroid Build Coastguard Worker# All core domains (as opposed to vendor/device-specific domains) 238*e4a36f41SAndroid Build Coastguard Workerattribute coredomain; 239*e4a36f41SAndroid Build Coastguard Worker 240*e4a36f41SAndroid Build Coastguard Worker# All vendor hwservice. 241*e4a36f41SAndroid Build Coastguard Workerattribute vendor_hwservice_type; 242*e4a36f41SAndroid Build Coastguard Worker 243*e4a36f41SAndroid Build Coastguard Worker# All socket devices owned by core domain components 244*e4a36f41SAndroid Build Coastguard Workerattribute coredomain_socket; 245*e4a36f41SAndroid Build Coastguard Workerexpandattribute coredomain_socket false; 246*e4a36f41SAndroid Build Coastguard Worker 247*e4a36f41SAndroid Build Coastguard Worker# All vendor domains which violate the requirement of not using sockets for 248*e4a36f41SAndroid Build Coastguard Worker# communicating with core components 249*e4a36f41SAndroid Build Coastguard Worker# TODO(b/36577153): Remove this once there are no violations 250*e4a36f41SAndroid Build Coastguard Workerattribute socket_between_core_and_vendor_violators; 251*e4a36f41SAndroid Build Coastguard Workerexpandattribute socket_between_core_and_vendor_violators false; 252*e4a36f41SAndroid Build Coastguard Worker 253*e4a36f41SAndroid Build Coastguard Worker# All vendor domains which violate the requirement of not executing 254*e4a36f41SAndroid Build Coastguard Worker# system processes 255*e4a36f41SAndroid Build Coastguard Worker# TODO(b/36463595) 256*e4a36f41SAndroid Build Coastguard Workerattribute vendor_executes_system_violators; 257*e4a36f41SAndroid Build Coastguard Workerexpandattribute vendor_executes_system_violators false; 258*e4a36f41SAndroid Build Coastguard Worker 259*e4a36f41SAndroid Build Coastguard Worker# All domains which violate the requirement of not sharing files by path 260*e4a36f41SAndroid Build Coastguard Worker# between between vendor and core domains. 261*e4a36f41SAndroid Build Coastguard Worker# TODO(b/34980020) 262*e4a36f41SAndroid Build Coastguard Workerattribute data_between_core_and_vendor_violators; 263*e4a36f41SAndroid Build Coastguard Workerexpandattribute data_between_core_and_vendor_violators false; 264*e4a36f41SAndroid Build Coastguard Worker 265*e4a36f41SAndroid Build Coastguard Worker# All system domains which violate the requirement of not executing vendor 266*e4a36f41SAndroid Build Coastguard Worker# binaries/libraries. 267*e4a36f41SAndroid Build Coastguard Worker# TODO(b/62041836) 268*e4a36f41SAndroid Build Coastguard Workerattribute system_executes_vendor_violators; 269*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_executes_vendor_violators false; 270*e4a36f41SAndroid Build Coastguard Worker 271*e4a36f41SAndroid Build Coastguard Worker# All system domains which violate the requirement of not writing vendor 272*e4a36f41SAndroid Build Coastguard Worker# properties. 273*e4a36f41SAndroid Build Coastguard Worker# TODO(b/78598545): Remove this once there are no violations 274*e4a36f41SAndroid Build Coastguard Workerattribute system_writes_vendor_properties_violators; 275*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_writes_vendor_properties_violators false; 276*e4a36f41SAndroid Build Coastguard Worker 277*e4a36f41SAndroid Build Coastguard Worker# All system domains which violate the requirement of not writing to 278*e4a36f41SAndroid Build Coastguard Worker# /mnt/vendor/*. Must not be used on devices launched with P or later. 279*e4a36f41SAndroid Build Coastguard Workerattribute system_writes_mnt_vendor_violators; 280*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_writes_mnt_vendor_violators false; 281*e4a36f41SAndroid Build Coastguard Worker 282*e4a36f41SAndroid Build Coastguard Worker# hwservices that are accessible from untrusted applications 283*e4a36f41SAndroid Build Coastguard Worker# WARNING: Use of this attribute should be avoided unless 284*e4a36f41SAndroid Build Coastguard Worker# absolutely necessary. It is a temporary allowance to aid the 285*e4a36f41SAndroid Build Coastguard Worker# transition to treble and will be removed in a future platform 286*e4a36f41SAndroid Build Coastguard Worker# version, requiring all hwservices that are labeled with this 287*e4a36f41SAndroid Build Coastguard Worker# attribute to be submitted to AOSP in order to maintain their 288*e4a36f41SAndroid Build Coastguard Worker# app-visibility. 289*e4a36f41SAndroid Build Coastguard Workerattribute untrusted_app_visible_hwservice_violators; 290*e4a36f41SAndroid Build Coastguard Workerexpandattribute untrusted_app_visible_hwservice_violators false; 291*e4a36f41SAndroid Build Coastguard Worker 292*e4a36f41SAndroid Build Coastguard Worker# halserver domains that are accessible to untrusted applications. These 293*e4a36f41SAndroid Build Coastguard Worker# domains are typically those hosting hwservices attributed by the 294*e4a36f41SAndroid Build Coastguard Worker# untrusted_app_visible_hwservice_violators. 295*e4a36f41SAndroid Build Coastguard Worker# WARNING: Use of this attribute should be avoided unless absolutely necessary. 296*e4a36f41SAndroid Build Coastguard Worker# It is a temporary allowance to aid the transition to treble and will be 297*e4a36f41SAndroid Build Coastguard Worker# removed in the future platform version, requiring all halserver domains that 298*e4a36f41SAndroid Build Coastguard Worker# are labeled with this attribute to be submitted to AOSP in order to maintain 299*e4a36f41SAndroid Build Coastguard Worker# their app-visibility. 300*e4a36f41SAndroid Build Coastguard Workerattribute untrusted_app_visible_halserver_violators; 301*e4a36f41SAndroid Build Coastguard Workerexpandattribute untrusted_app_visible_halserver_violators false; 302*e4a36f41SAndroid Build Coastguard Worker 303*e4a36f41SAndroid Build Coastguard Worker# PDX services 304*e4a36f41SAndroid Build Coastguard Workerattribute pdx_endpoint_dir_type; 305*e4a36f41SAndroid Build Coastguard Workerattribute pdx_endpoint_socket_type; 306*e4a36f41SAndroid Build Coastguard Workerexpandattribute pdx_endpoint_socket_type false; 307*e4a36f41SAndroid Build Coastguard Workerattribute pdx_channel_socket_type; 308*e4a36f41SAndroid Build Coastguard Workerexpandattribute pdx_channel_socket_type false; 309*e4a36f41SAndroid Build Coastguard Worker 310*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(display_client) 311*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(display_manager) 312*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(display_screenshot) 313*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(display_vsync) 314*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(performance_client) 315*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(bufferhub_client) 316*e4a36f41SAndroid Build Coastguard Worker 317*e4a36f41SAndroid Build Coastguard Worker# All HAL servers 318*e4a36f41SAndroid Build Coastguard Workerattribute halserverdomain; 319*e4a36f41SAndroid Build Coastguard Worker# All HAL clients 320*e4a36f41SAndroid Build Coastguard Workerattribute halclientdomain; 321*e4a36f41SAndroid Build Coastguard Workerexpandattribute halclientdomain true; 322*e4a36f41SAndroid Build Coastguard Worker 323*e4a36f41SAndroid Build Coastguard Worker# Exempt for halserverdomain to access sockets. Only builds for automotive 324*e4a36f41SAndroid Build Coastguard Worker# device types are allowed to use this attribute (enforced by CTS). 325*e4a36f41SAndroid Build Coastguard Worker# Unlike phone, in a car many modules are external from Android perspective and 326*e4a36f41SAndroid Build Coastguard Worker# HALs should be able to communicate with those devices through sockets. 327*e4a36f41SAndroid Build Coastguard Workerattribute hal_automotive_socket_exemption; 328*e4a36f41SAndroid Build Coastguard Worker 329*e4a36f41SAndroid Build Coastguard Worker# HALs 330*e4a36f41SAndroid Build Coastguard Workerhal_attribute(allocator); 331*e4a36f41SAndroid Build Coastguard Workerhal_attribute(atrace); 332*e4a36f41SAndroid Build Coastguard Workerhal_attribute(audio); 333*e4a36f41SAndroid Build Coastguard Workerhal_attribute(audiocontrol); 334*e4a36f41SAndroid Build Coastguard Workerhal_attribute(authgraph); 335*e4a36f41SAndroid Build Coastguard Workerhal_attribute(authsecret); 336*e4a36f41SAndroid Build Coastguard Workerhal_attribute(bluetooth); 337*e4a36f41SAndroid Build Coastguard Workerhal_attribute(bootctl); 338*e4a36f41SAndroid Build Coastguard Workerhal_attribute(broadcastradio); 339*e4a36f41SAndroid Build Coastguard Workerhal_attribute(camera); 340*e4a36f41SAndroid Build Coastguard Workerhal_attribute(can_bus); 341*e4a36f41SAndroid Build Coastguard Workerhal_attribute(can_controller); 342*e4a36f41SAndroid Build Coastguard Workerhal_attribute(cas); 343*e4a36f41SAndroid Build Coastguard Workerhal_attribute(codec2); 344*e4a36f41SAndroid Build Coastguard Workerhal_attribute(configstore); 345*e4a36f41SAndroid Build Coastguard Workerhal_attribute(confirmationui); 346*e4a36f41SAndroid Build Coastguard Workerhal_attribute(contexthub); 347*e4a36f41SAndroid Build Coastguard Workerhal_attribute(drm); 348*e4a36f41SAndroid Build Coastguard Workerhal_attribute(dumpstate); 349*e4a36f41SAndroid Build Coastguard Workerhal_attribute(evs); 350*e4a36f41SAndroid Build Coastguard Workerhal_attribute(face); 351*e4a36f41SAndroid Build Coastguard Workerhal_attribute(fastboot); 352*e4a36f41SAndroid Build Coastguard Workerhal_attribute(fingerprint); 353*e4a36f41SAndroid Build Coastguard Workerhal_attribute(gatekeeper); 354*e4a36f41SAndroid Build Coastguard Workerhal_attribute(gnss); 355*e4a36f41SAndroid Build Coastguard Workerhal_attribute(graphics_allocator); 356*e4a36f41SAndroid Build Coastguard Workerhal_attribute(graphics_composer); 357*e4a36f41SAndroid Build Coastguard Workerhal_attribute(health); 358*e4a36f41SAndroid Build Coastguard Workerhal_attribute(health_storage); 359*e4a36f41SAndroid Build Coastguard Workerhal_attribute(identity); 360*e4a36f41SAndroid Build Coastguard Workerhal_attribute(input_classifier); 361*e4a36f41SAndroid Build Coastguard Workerhal_attribute(input_processor); 362*e4a36f41SAndroid Build Coastguard Workerhal_attribute(ir); 363*e4a36f41SAndroid Build Coastguard Workerhal_attribute(ivn); 364*e4a36f41SAndroid Build Coastguard Workerhal_attribute(keymaster); 365*e4a36f41SAndroid Build Coastguard Workerhal_attribute(keymint); 366*e4a36f41SAndroid Build Coastguard Workerhal_attribute(light); 367*e4a36f41SAndroid Build Coastguard Workerhal_attribute(lowpan); 368*e4a36f41SAndroid Build Coastguard Workerhal_attribute(macsec); 369*e4a36f41SAndroid Build Coastguard Workerhal_attribute(memtrack); 370*e4a36f41SAndroid Build Coastguard Workerhal_attribute(neuralnetworks); 371*e4a36f41SAndroid Build Coastguard Workerhal_attribute(nfc); 372*e4a36f41SAndroid Build Coastguard Workerhal_attribute(nlinterceptor); 373*e4a36f41SAndroid Build Coastguard Workerhal_attribute(oemlock); 374*e4a36f41SAndroid Build Coastguard Workerhal_attribute(omx); 375*e4a36f41SAndroid Build Coastguard Workerhal_attribute(power); 376*e4a36f41SAndroid Build Coastguard Workerhal_attribute(power_stats); 377*e4a36f41SAndroid Build Coastguard Workerhal_attribute(rebootescrow); 378*e4a36f41SAndroid Build Coastguard Workerhal_attribute(remoteaccess); 379*e4a36f41SAndroid Build Coastguard Workerhal_attribute(secretkeeper); 380*e4a36f41SAndroid Build Coastguard Workerhal_attribute(remotelyprovisionedcomponent_avf); 381*e4a36f41SAndroid Build Coastguard Workerhal_attribute(secure_element); 382*e4a36f41SAndroid Build Coastguard Workerhal_attribute(sensors); 383*e4a36f41SAndroid Build Coastguard Workerhal_attribute(telephony); 384*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tetheroffload); 385*e4a36f41SAndroid Build Coastguard Workerhal_attribute(thermal); 386*e4a36f41SAndroid Build Coastguard Workerhal_attribute(threadnetwork); 387*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_cec); 388*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_hdmi_cec); 389*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_hdmi_connection); 390*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_hdmi_earc); 391*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_input); 392*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_tuner); 393*e4a36f41SAndroid Build Coastguard Workerhal_attribute(usb); 394*e4a36f41SAndroid Build Coastguard Workerhal_attribute(usb_gadget); 395*e4a36f41SAndroid Build Coastguard Workerhal_attribute(uwb); 396*e4a36f41SAndroid Build Coastguard Worker# TODO(b/196225233): Remove this attribute and its usages elsewhere 397*e4a36f41SAndroid Build Coastguard Worker# once all chip vendors integrate to the new UWB stack. 398*e4a36f41SAndroid Build Coastguard Workerhal_attribute(uwb_vendor); 399*e4a36f41SAndroid Build Coastguard Workerhal_attribute(vehicle); 400*e4a36f41SAndroid Build Coastguard Workerhal_attribute(vibrator); 401*e4a36f41SAndroid Build Coastguard Workerhal_attribute(vr); 402*e4a36f41SAndroid Build Coastguard Workerhal_attribute(weaver); 403*e4a36f41SAndroid Build Coastguard Workerhal_attribute(wifi); 404*e4a36f41SAndroid Build Coastguard Workerhal_attribute(wifi_hostapd); 405*e4a36f41SAndroid Build Coastguard Workerhal_attribute(wifi_supplicant); 406*e4a36f41SAndroid Build Coastguard Worker 407*e4a36f41SAndroid Build Coastguard Worker# HwBinder services offered across the core-vendor boundary 408*e4a36f41SAndroid Build Coastguard Worker# 409*e4a36f41SAndroid Build Coastguard Worker# We annotate server domains with x_server to loosen the coupling between 410*e4a36f41SAndroid Build Coastguard Worker# system and vendor images. For example, it should be possible to move a service 411*e4a36f41SAndroid Build Coastguard Worker# from one core domain to another, without having to update the vendor image 412*e4a36f41SAndroid Build Coastguard Worker# which contains clients of this service. 413*e4a36f41SAndroid Build Coastguard Worker 414*e4a36f41SAndroid Build Coastguard Workerattribute automotive_display_service_server; 415*e4a36f41SAndroid Build Coastguard Workerattribute camera_service_server; 416*e4a36f41SAndroid Build Coastguard Workerattribute display_service_server; 417*e4a36f41SAndroid Build Coastguard Workerattribute evsmanager_service_server; 418*e4a36f41SAndroid Build Coastguard Workerattribute remote_provisioning_service_server; 419*e4a36f41SAndroid Build Coastguard Workerattribute scheduler_service_server; 420*e4a36f41SAndroid Build Coastguard Workerattribute sensor_service_server; 421*e4a36f41SAndroid Build Coastguard Workerattribute stats_service_server; 422*e4a36f41SAndroid Build Coastguard Workerattribute system_suspend_internal_server; 423*e4a36f41SAndroid Build Coastguard Workerattribute system_suspend_server; 424*e4a36f41SAndroid Build Coastguard Workerattribute wifi_keystore_service_server; 425*e4a36f41SAndroid Build Coastguard Worker 426*e4a36f41SAndroid Build Coastguard Worker# All types used for super partition block devices. 427*e4a36f41SAndroid Build Coastguard Workerattribute super_block_device_type; 428*e4a36f41SAndroid Build Coastguard Worker 429*e4a36f41SAndroid Build Coastguard Worker# All types used for DMA-BUF heaps 430*e4a36f41SAndroid Build Coastguard Workerattribute dmabuf_heap_device_type; 431*e4a36f41SAndroid Build Coastguard Workerexpandattribute dmabuf_heap_device_type false; 432*e4a36f41SAndroid Build Coastguard Worker 433*e4a36f41SAndroid Build Coastguard Worker# Types for VM managers 434*e4a36f41SAndroid Build Coastguard Workerattribute vm_manager_device_type; 435*e4a36f41SAndroid Build Coastguard Worker 436*e4a36f41SAndroid Build Coastguard Worker# All types used for DSU metadata files. 437*e4a36f41SAndroid Build Coastguard Workerattribute gsi_metadata_file_type; 438*e4a36f41SAndroid Build Coastguard Worker 439*e4a36f41SAndroid Build Coastguard Worker# Types used for module-specific APEX data directories under 440*e4a36f41SAndroid Build Coastguard Worker# /data/{misc,misc_ce,misc_de}/apexdata. 441*e4a36f41SAndroid Build Coastguard Workerattribute apex_data_file_type; 442*e4a36f41SAndroid Build Coastguard Worker 443*e4a36f41SAndroid Build Coastguard Worker# Domains used for charger. 444*e4a36f41SAndroid Build Coastguard Worker# This is the common type for domains that executes charger's 445*e4a36f41SAndroid Build Coastguard Worker# functionalities, including setting and getting necessary properties, 446*e4a36f41SAndroid Build Coastguard Worker# permissions to maintain the health loop, writing to kernel log, handling 447*e4a36f41SAndroid Build Coastguard Worker# inputs and drawing screens, etc. 448*e4a36f41SAndroid Build Coastguard Workerattribute charger_type; 449*e4a36f41SAndroid Build Coastguard Worker 450*e4a36f41SAndroid Build Coastguard Worker# All types of ART properties. 451*e4a36f41SAndroid Build Coastguard Workerattribute dalvik_config_prop_type; 452