1 ###################################### 2 # Attribute declarations 3 # 4 5 # All types used for devices. 6 # On change, update CHECK_FC_ASSERT_ATTRS 7 # in tools/checkfc.c 8 attribute dev_type; 9 10 # All types used for processes. 11 attribute domain; 12 13 # All types used for filesystems. 14 # On change, update CHECK_FC_ASSERT_ATTRS 15 # definition in tools/checkfc.c. 16 attribute fs_type; 17 18 # All types used for context= mounts. 19 attribute contextmount_type; 20 21 # All types used for files that can exist on a labeled fs. 22 # Do not use for pseudo file types. 23 # On change, update CHECK_FC_ASSERT_ATTRS 24 # definition in tools/checkfc.c. 25 attribute file_type; 26 27 # All types used for domain entry points. 28 attribute exec_type; 29 30 # All types used for /data files. 31 attribute data_file_type; 32 # All types in /data, not in /data/vendor 33 attribute core_data_file_type; 34 # All types in /vendor 35 attribute vendor_file_type; 36 37 # All types use for sysfs files. 38 attribute sysfs_type; 39 40 # All types use for debugfs files. 41 attribute debugfs_type; 42 43 # Attribute used for all sdcards 44 attribute sdcard_type; 45 46 # All types used for nodes/hosts. 47 attribute node_type; 48 49 # All types used for network interfaces. 50 attribute netif_type; 51 52 # All types used for network ports. 53 attribute port_type; 54 55 # All types used for property service 56 # On change, update CHECK_PC_ASSERT_ATTRS 57 # definition in tools/checkfc.c. 58 attribute property_type; 59 60 # All properties defined in core SELinux policy. Should not be 61 # used by device specific properties 62 attribute core_property_type; 63 64 # All properties used to configure log filtering. 65 attribute log_property_type; 66 67 # All service_manager types created by system_server 68 attribute system_server_service; 69 70 # services which should be available to all but isolated apps 71 attribute app_api_service; 72 73 # services which should be available to all ephemeral apps 74 attribute ephemeral_app_api_service; 75 76 # services which export only system_api 77 attribute system_api_service; 78 79 # All types used for services managed by servicemanager. 80 # On change, update CHECK_SC_ASSERT_ATTRS 81 # definition in tools/checkfc.c. 82 attribute service_manager_type; 83 84 # All types used for services managed by hwservicemanager 85 attribute hwservice_manager_type; 86 87 # All HwBinder services guaranteed to be passthrough. These services always run 88 # in the process of their clients, and thus operate with the same access as 89 # their clients. 90 attribute same_process_hwservice; 91 92 # All HwBinder services guaranteed to be offered only by core domain components 93 attribute coredomain_hwservice; 94 95 # All types used for services managed by vndservicemanager 96 attribute vndservice_manager_type; 97 98 99 # All domains that can override MLS restrictions. 100 # i.e. processes that can read up and write down. 101 attribute mlstrustedsubject; 102 103 # All types that can override MLS restrictions. 104 # i.e. files that can be read by lower and written by higher 105 attribute mlstrustedobject; 106 107 # All domains used for apps. 108 attribute appdomain; 109 110 # All third party apps. 111 attribute untrusted_app_all; 112 113 # All domains used for apps with network access. 114 attribute netdomain; 115 116 # All domains used for apps with bluetooth access. 117 attribute bluetoothdomain; 118 119 # All domains used for binder service domains. 120 attribute binderservicedomain; 121 122 # update_engine related domains that need to apply an update and run 123 # postinstall. This includes the background daemon and the sideload tool from 124 # recovery for A/B devices. 125 attribute update_engine_common; 126 127 # All core domains (as opposed to vendor/device-specific domains) 128 attribute coredomain; 129 130 # All socket devices owned by core domain components 131 attribute coredomain_socket; 132 133 # All vendor domains which violate the requirement of not using Binder 134 # TODO(b/35870313): Remove this once there are no violations 135 attribute binder_in_vendor_violators; 136 137 # All vendor domains which violate the requirement of not using sockets for 138 # communicating with core components 139 # TODO(b/36577153): Remove this once there are no violations 140 attribute socket_between_core_and_vendor_violators; 141 142 # All vendor domains which violate the requirement of not executing 143 # system processes 144 # TODO(b/36463595) 145 attribute vendor_executes_system_violators; 146 147 # hwservices that are accessible from untrusted applications 148 # WARNING: Use of this attribute should be avoided unless 149 # absolutely necessary. It is a temporary allowance to aid the 150 # transition to treble and will be removed in a future platform 151 # version, requiring all hwservices that are labeled with this 152 # attribute to be submitted to AOSP in order to maintain their 153 # app-visibility. 154 attribute untrusted_app_visible_hwservice; 155 156 # PDX services 157 attribute pdx_endpoint_dir_type; 158 attribute pdx_endpoint_socket_type; 159 attribute pdx_channel_socket_type; 160 161 pdx_service_attributes(display_client) 162 pdx_service_attributes(display_manager) 163 pdx_service_attributes(display_screenshot) 164 pdx_service_attributes(display_vsync) 165 pdx_service_attributes(performance_client) 166 pdx_service_attributes(bufferhub_client) 167 168 # All HAL servers 169 attribute halserverdomain; 170 # All HAL clients 171 attribute halclientdomain; 172 173 # HALs 174 attribute hal_allocator; 175 attribute hal_allocator_client; 176 attribute hal_allocator_server; 177 attribute hal_audio; 178 attribute hal_audio_client; 179 attribute hal_audio_server; 180 attribute hal_bluetooth; 181 attribute hal_bluetooth_client; 182 attribute hal_bluetooth_server; 183 attribute hal_bootctl; 184 attribute hal_bootctl_client; 185 attribute hal_bootctl_server; 186 attribute hal_camera; 187 attribute hal_camera_client; 188 attribute hal_camera_server; 189 attribute hal_configstore; 190 attribute hal_configstore_client; 191 attribute hal_configstore_server; 192 attribute hal_contexthub; 193 attribute hal_contexthub_client; 194 attribute hal_contexthub_server; 195 attribute hal_drm; 196 attribute hal_drm_client; 197 attribute hal_drm_server; 198 attribute hal_dumpstate; 199 attribute hal_dumpstate_client; 200 attribute hal_dumpstate_server; 201 attribute hal_fingerprint; 202 attribute hal_fingerprint_client; 203 attribute hal_fingerprint_server; 204 attribute hal_gatekeeper; 205 attribute hal_gatekeeper_client; 206 attribute hal_gatekeeper_server; 207 attribute hal_gnss; 208 attribute hal_gnss_client; 209 attribute hal_gnss_server; 210 attribute hal_graphics_allocator; 211 attribute hal_graphics_allocator_client; 212 attribute hal_graphics_allocator_server; 213 attribute hal_graphics_composer; 214 attribute hal_graphics_composer_client; 215 attribute hal_graphics_composer_server; 216 attribute hal_health; 217 attribute hal_health_client; 218 attribute hal_health_server; 219 attribute hal_ir; 220 attribute hal_ir_client; 221 attribute hal_ir_server; 222 attribute hal_keymaster; 223 attribute hal_keymaster_client; 224 attribute hal_keymaster_server; 225 attribute hal_light; 226 attribute hal_light_client; 227 attribute hal_light_server; 228 attribute hal_memtrack; 229 attribute hal_memtrack_client; 230 attribute hal_memtrack_server; 231 attribute hal_nfc; 232 attribute hal_nfc_client; 233 attribute hal_nfc_server; 234 attribute hal_oemlock; 235 attribute hal_oemlock_client; 236 attribute hal_oemlock_server; 237 attribute hal_power; 238 attribute hal_power_client; 239 attribute hal_power_server; 240 attribute hal_sensors; 241 attribute hal_sensors_client; 242 attribute hal_sensors_server; 243 attribute hal_telephony; 244 attribute hal_telephony_client; 245 attribute hal_telephony_server; 246 attribute hal_tetheroffload; 247 attribute hal_tetheroffload_client; 248 attribute hal_tetheroffload_server; 249 attribute hal_thermal; 250 attribute hal_thermal_client; 251 attribute hal_thermal_server; 252 attribute hal_tv_cec; 253 attribute hal_tv_cec_client; 254 attribute hal_tv_cec_server; 255 attribute hal_tv_input; 256 attribute hal_tv_input_client; 257 attribute hal_tv_input_server; 258 attribute hal_usb; 259 attribute hal_usb_client; 260 attribute hal_usb_server; 261 attribute hal_vibrator; 262 attribute hal_vibrator_client; 263 attribute hal_vibrator_server; 264 attribute hal_vr; 265 attribute hal_vr_client; 266 attribute hal_vr_server; 267 attribute hal_weaver; 268 attribute hal_weaver_client; 269 attribute hal_weaver_server; 270 attribute hal_wifi; 271 attribute hal_wifi_client; 272 attribute hal_wifi_server; 273 attribute hal_wifi_keystore; 274 attribute hal_wifi_keystore_client; 275 attribute hal_wifi_keystore_server; 276 attribute hal_wifi_offload; 277 attribute hal_wifi_offload_client; 278 attribute hal_wifi_offload_server; 279 attribute hal_wifi_supplicant; 280 attribute hal_wifi_supplicant_client; 281 attribute hal_wifi_supplicant_server; 282 283 # HwBinder services offered across the core-vendor boundary 284 # 285 # We annotate server domains with x_server to loosen the coupling between 286 # system and vendor images. For example, it should be possible to move a service 287 # from one core domain to another, without having to update the vendor image 288 # which contains clients of this service. 289 290 attribute display_service_server; 291 attribute wifi_keystore_service_server; 292