Dan Cashman | 8058248 | 2017-12-06 09:20:27 -0800 | [diff] [blame] | 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 | expandattribute data_file_type false; |
| 33 | # All types in /data, not in /data/vendor |
| 34 | attribute core_data_file_type; |
| 35 | # All types in /vendor |
| 36 | attribute vendor_file_type; |
| 37 | |
| 38 | # All types use for sysfs files. |
| 39 | attribute sysfs_type; |
| 40 | |
| 41 | # All types use for debugfs files. |
| 42 | attribute debugfs_type; |
| 43 | |
| 44 | # Attribute used for all sdcards |
| 45 | attribute sdcard_type; |
| 46 | |
| 47 | # All types used for nodes/hosts. |
| 48 | attribute node_type; |
| 49 | |
| 50 | # All types used for network interfaces. |
| 51 | attribute netif_type; |
| 52 | |
| 53 | # All types used for network ports. |
| 54 | attribute port_type; |
| 55 | |
| 56 | # All types used for property service |
| 57 | # On change, update CHECK_PC_ASSERT_ATTRS |
| 58 | # definition in tools/checkfc.c. |
| 59 | attribute property_type; |
| 60 | |
| 61 | # All properties defined in core SELinux policy. Should not be |
| 62 | # used by device specific properties |
| 63 | attribute core_property_type; |
| 64 | |
| 65 | # All properties used to configure log filtering. |
| 66 | attribute log_property_type; |
| 67 | |
| 68 | # All service_manager types created by system_server |
| 69 | attribute system_server_service; |
| 70 | |
| 71 | # services which should be available to all but isolated apps |
| 72 | attribute app_api_service; |
| 73 | |
| 74 | # services which should be available to all ephemeral apps |
| 75 | attribute ephemeral_app_api_service; |
| 76 | |
| 77 | # services which export only system_api |
| 78 | attribute system_api_service; |
| 79 | |
| 80 | # All types used for services managed by servicemanager. |
| 81 | # On change, update CHECK_SC_ASSERT_ATTRS |
| 82 | # definition in tools/checkfc.c. |
| 83 | attribute service_manager_type; |
| 84 | |
| 85 | # All types used for services managed by hwservicemanager |
| 86 | attribute hwservice_manager_type; |
| 87 | |
| 88 | # All HwBinder services guaranteed to be passthrough. These services always run |
| 89 | # in the process of their clients, and thus operate with the same access as |
| 90 | # their clients. |
| 91 | attribute same_process_hwservice; |
| 92 | |
| 93 | # All HwBinder services guaranteed to be offered only by core domain components |
| 94 | attribute coredomain_hwservice; |
| 95 | |
| 96 | # All types used for services managed by vndservicemanager |
| 97 | attribute vndservice_manager_type; |
| 98 | |
| 99 | |
| 100 | # All domains that can override MLS restrictions. |
| 101 | # i.e. processes that can read up and write down. |
| 102 | attribute mlstrustedsubject; |
| 103 | |
| 104 | # All types that can override MLS restrictions. |
| 105 | # i.e. files that can be read by lower and written by higher |
| 106 | attribute mlstrustedobject; |
| 107 | |
| 108 | # All domains used for apps. |
| 109 | attribute appdomain; |
| 110 | |
| 111 | # All third party apps. |
| 112 | attribute untrusted_app_all; |
| 113 | |
| 114 | # All domains used for apps with network access. |
| 115 | attribute netdomain; |
| 116 | |
| 117 | # All domains used for apps with bluetooth access. |
| 118 | attribute bluetoothdomain; |
| 119 | |
| 120 | # All domains used for binder service domains. |
| 121 | attribute binderservicedomain; |
| 122 | |
| 123 | # update_engine related domains that need to apply an update and run |
| 124 | # postinstall. This includes the background daemon and the sideload tool from |
| 125 | # recovery for A/B devices. |
| 126 | attribute update_engine_common; |
| 127 | |
| 128 | # All core domains (as opposed to vendor/device-specific domains) |
| 129 | attribute coredomain; |
| 130 | |
| 131 | # All socket devices owned by core domain components |
| 132 | attribute coredomain_socket; |
| 133 | |
| 134 | # All vendor domains which violate the requirement of not using Binder |
| 135 | # TODO(b/35870313): Remove this once there are no violations |
| 136 | attribute binder_in_vendor_violators; |
| 137 | expandattribute binder_in_vendor_violators false; |
| 138 | |
| 139 | # All vendor domains which violate the requirement of not using sockets for |
| 140 | # communicating with core components |
| 141 | # TODO(b/36577153): Remove this once there are no violations |
| 142 | attribute socket_between_core_and_vendor_violators; |
| 143 | expandattribute socket_between_core_and_vendor_violators false; |
| 144 | |
| 145 | # All vendor domains which violate the requirement of not executing |
| 146 | # system processes |
| 147 | # TODO(b/36463595) |
| 148 | attribute vendor_executes_system_violators; |
| 149 | expandattribute vendor_executes_system_violators false; |
| 150 | |
| 151 | # hwservices that are accessible from untrusted applications |
| 152 | # WARNING: Use of this attribute should be avoided unless |
| 153 | # absolutely necessary. It is a temporary allowance to aid the |
| 154 | # transition to treble and will be removed in a future platform |
| 155 | # version, requiring all hwservices that are labeled with this |
| 156 | # attribute to be submitted to AOSP in order to maintain their |
| 157 | # app-visibility. |
| 158 | attribute untrusted_app_visible_hwservice; |
| 159 | expandattribute untrusted_app_visible_hwservice false; |
| 160 | |
| 161 | # halserver domains that are accessible to untrusted applications. These |
| 162 | # domains are typically those hosting hwservices attributed by the |
| 163 | # untrusted_app_visible_hwservice. |
| 164 | # WARNING: Use of this attribute should be avoided unless absolutely necessary. |
| 165 | # It is a temporary allowance to aid the transition to treble and will be |
| 166 | # removed in the future platform version, requiring all halserver domains that |
| 167 | # are labeled with this attribute to be submitted to AOSP in order to maintain |
| 168 | # their app-visibility. |
| 169 | attribute untrusted_app_visible_halserver; |
| 170 | expandattribute untrusted_app_visible_halserver false; |
| 171 | |
| 172 | # PDX services |
| 173 | attribute pdx_endpoint_dir_type; |
| 174 | attribute pdx_endpoint_socket_type; |
| 175 | expandattribute pdx_endpoint_socket_type false; |
| 176 | attribute pdx_channel_socket_type; |
| 177 | expandattribute pdx_channel_socket_type false; |
| 178 | |
| 179 | pdx_service_attributes(display_client) |
| 180 | pdx_service_attributes(display_manager) |
| 181 | pdx_service_attributes(display_screenshot) |
| 182 | pdx_service_attributes(display_vsync) |
| 183 | pdx_service_attributes(performance_client) |
| 184 | pdx_service_attributes(bufferhub_client) |
| 185 | |
| 186 | # All HAL servers |
| 187 | attribute halserverdomain; |
| 188 | # All HAL clients |
| 189 | attribute halclientdomain; |
| 190 | expandattribute halclientdomain true; |
| 191 | |
| 192 | # HALs |
| 193 | attribute hal_allocator; |
| 194 | expandattribute hal_allocator true; |
| 195 | attribute hal_allocator_client; |
| 196 | expandattribute hal_allocator_client true; |
| 197 | attribute hal_allocator_server; |
| 198 | expandattribute hal_allocator_server false; |
| 199 | attribute hal_audio; |
| 200 | expandattribute hal_audio false; |
| 201 | attribute hal_audio_client; |
| 202 | expandattribute hal_audio_client true; |
| 203 | attribute hal_audio_server; |
| 204 | expandattribute hal_audio_server false; |
| 205 | attribute hal_bluetooth; |
| 206 | expandattribute hal_bluetooth true; |
| 207 | attribute hal_bluetooth_client; |
| 208 | expandattribute hal_bluetooth_client true; |
| 209 | attribute hal_bluetooth_server; |
| 210 | expandattribute hal_bluetooth_server false; |
| 211 | attribute hal_bootctl; |
| 212 | expandattribute hal_bootctl false; |
| 213 | attribute hal_bootctl_client; |
| 214 | expandattribute hal_bootctl_client true; |
| 215 | attribute hal_bootctl_server; |
| 216 | expandattribute hal_bootctl_server false; |
| 217 | attribute hal_broadcastradio; |
| 218 | expandattribute hal_broadcastradio true; |
| 219 | attribute hal_broadcastradio_client; |
| 220 | expandattribute hal_broadcastradio_client true; |
| 221 | attribute hal_broadcastradio_server; |
| 222 | expandattribute hal_broadcastradio_server false; |
| 223 | attribute hal_camera; |
| 224 | expandattribute hal_camera false; |
| 225 | attribute hal_camera_client; |
| 226 | expandattribute hal_camera_client true; |
| 227 | attribute hal_camera_server; |
| 228 | expandattribute hal_camera_server false; |
| 229 | attribute hal_configstore; |
| 230 | expandattribute hal_configstore true; |
| 231 | attribute hal_configstore_client; |
| 232 | expandattribute hal_configstore_client true; |
| 233 | attribute hal_configstore_server; |
| 234 | expandattribute hal_configstore_server false; |
| 235 | attribute hal_contexthub; |
| 236 | expandattribute hal_contexthub true; |
| 237 | attribute hal_contexthub_client; |
| 238 | expandattribute hal_contexthub_client true; |
| 239 | attribute hal_contexthub_server; |
| 240 | expandattribute hal_contexthub_server false; |
| 241 | attribute hal_drm; |
| 242 | expandattribute hal_drm false; |
| 243 | attribute hal_drm_client; |
| 244 | expandattribute hal_drm_client true; |
| 245 | attribute hal_drm_server; |
| 246 | expandattribute hal_drm_server false; |
| 247 | attribute hal_cas; |
| 248 | expandattribute hal_cas false; |
| 249 | attribute hal_cas_client; |
| 250 | expandattribute hal_cas_client true; |
| 251 | attribute hal_cas_server; |
| 252 | expandattribute hal_cas_server false; |
| 253 | attribute hal_dumpstate; |
| 254 | expandattribute hal_dumpstate true; |
| 255 | attribute hal_dumpstate_client; |
| 256 | expandattribute hal_dumpstate_client true; |
| 257 | attribute hal_dumpstate_server; |
| 258 | expandattribute hal_dumpstate_server false; |
| 259 | attribute hal_fingerprint; |
| 260 | expandattribute hal_fingerprint true; |
| 261 | attribute hal_fingerprint_client; |
| 262 | expandattribute hal_fingerprint_client true; |
| 263 | attribute hal_fingerprint_server; |
| 264 | expandattribute hal_fingerprint_server false; |
| 265 | attribute hal_gatekeeper; |
| 266 | expandattribute hal_gatekeeper true; |
| 267 | attribute hal_gatekeeper_client; |
| 268 | expandattribute hal_gatekeeper_client true; |
| 269 | attribute hal_gatekeeper_server; |
| 270 | expandattribute hal_gatekeeper_server false; |
| 271 | attribute hal_gnss; |
| 272 | expandattribute hal_gnss true; |
| 273 | attribute hal_gnss_client; |
| 274 | expandattribute hal_gnss_client true; |
| 275 | attribute hal_gnss_server; |
| 276 | expandattribute hal_gnss_server false; |
| 277 | attribute hal_graphics_allocator; |
| 278 | expandattribute hal_graphics_allocator true; |
| 279 | attribute hal_graphics_allocator_client; |
| 280 | expandattribute hal_graphics_allocator_client true; |
| 281 | attribute hal_graphics_allocator_server; |
| 282 | expandattribute hal_graphics_allocator_server false; |
| 283 | attribute hal_graphics_composer; |
| 284 | expandattribute hal_graphics_composer true; |
| 285 | attribute hal_graphics_composer_client; |
| 286 | expandattribute hal_graphics_composer_client true; |
| 287 | attribute hal_graphics_composer_server; |
| 288 | expandattribute hal_graphics_composer_server false; |
| 289 | attribute hal_health; |
| 290 | expandattribute hal_health true; |
| 291 | attribute hal_health_client; |
| 292 | expandattribute hal_health_client true; |
| 293 | attribute hal_health_server; |
| 294 | expandattribute hal_health_server false; |
| 295 | attribute hal_ir; |
| 296 | expandattribute hal_ir true; |
| 297 | attribute hal_ir_client; |
| 298 | expandattribute hal_ir_client true; |
| 299 | attribute hal_ir_server; |
| 300 | expandattribute hal_ir_server false; |
| 301 | attribute hal_keymaster; |
| 302 | expandattribute hal_keymaster true; |
| 303 | attribute hal_keymaster_client; |
| 304 | expandattribute hal_keymaster_client true; |
| 305 | attribute hal_keymaster_server; |
| 306 | expandattribute hal_keymaster_server false; |
| 307 | attribute hal_light; |
| 308 | expandattribute hal_light true; |
| 309 | attribute hal_light_client; |
| 310 | expandattribute hal_light_client true; |
| 311 | attribute hal_light_server; |
| 312 | expandattribute hal_light_server false; |
| 313 | attribute hal_memtrack; |
| 314 | expandattribute hal_memtrack true; |
| 315 | attribute hal_memtrack_client; |
| 316 | expandattribute hal_memtrack_client true; |
| 317 | attribute hal_memtrack_server; |
| 318 | expandattribute hal_memtrack_server false; |
| 319 | attribute hal_neuralnetworks; |
| 320 | expandattribute hal_neuralnetworks true; |
| 321 | attribute hal_neuralnetworks_client; |
| 322 | expandattribute hal_neuralnetworks_client true; |
| 323 | attribute hal_neuralnetworks_server; |
| 324 | expandattribute hal_neuralnetworks_server false; |
| 325 | attribute hal_nfc; |
| 326 | expandattribute hal_nfc true; |
| 327 | attribute hal_nfc_client; |
| 328 | expandattribute hal_nfc_client true; |
| 329 | attribute hal_nfc_server; |
| 330 | expandattribute hal_nfc_server false; |
| 331 | attribute hal_oemlock; |
| 332 | expandattribute hal_oemlock true; |
| 333 | attribute hal_oemlock_client; |
| 334 | expandattribute hal_oemlock_client true; |
| 335 | attribute hal_oemlock_server; |
| 336 | expandattribute hal_oemlock_server false; |
| 337 | attribute hal_power; |
| 338 | expandattribute hal_power true; |
| 339 | attribute hal_power_client; |
| 340 | expandattribute hal_power_client true; |
| 341 | attribute hal_power_server; |
| 342 | expandattribute hal_power_server false; |
| 343 | attribute hal_sensors; |
| 344 | expandattribute hal_sensors true; |
| 345 | attribute hal_sensors_client; |
| 346 | expandattribute hal_sensors_client true; |
| 347 | attribute hal_sensors_server; |
| 348 | expandattribute hal_sensors_server false; |
| 349 | attribute hal_telephony; |
| 350 | expandattribute hal_telephony true; |
| 351 | attribute hal_telephony_client; |
| 352 | expandattribute hal_telephony_client true; |
| 353 | attribute hal_telephony_server; |
| 354 | expandattribute hal_telephony_server false; |
| 355 | attribute hal_tetheroffload; |
| 356 | expandattribute hal_tetheroffload true; |
| 357 | attribute hal_tetheroffload_client; |
| 358 | expandattribute hal_tetheroffload_client true; |
| 359 | attribute hal_tetheroffload_server; |
| 360 | expandattribute hal_tetheroffload_server false; |
| 361 | attribute hal_thermal; |
| 362 | expandattribute hal_thermal true; |
| 363 | attribute hal_thermal_client; |
| 364 | expandattribute hal_thermal_client true; |
| 365 | attribute hal_thermal_server; |
| 366 | expandattribute hal_thermal_server false; |
| 367 | attribute hal_tv_cec; |
| 368 | expandattribute hal_tv_cec true; |
| 369 | attribute hal_tv_cec_client; |
| 370 | expandattribute hal_tv_cec_client true; |
| 371 | attribute hal_tv_cec_server; |
| 372 | expandattribute hal_tv_cec_server false; |
| 373 | attribute hal_tv_input; |
| 374 | expandattribute hal_tv_input true; |
| 375 | attribute hal_tv_input_client; |
| 376 | expandattribute hal_tv_input_client true; |
| 377 | attribute hal_tv_input_server; |
| 378 | expandattribute hal_tv_input_server false; |
| 379 | attribute hal_usb; |
| 380 | expandattribute hal_usb true; |
| 381 | attribute hal_usb_client; |
| 382 | expandattribute hal_usb_client true; |
| 383 | attribute hal_usb_server; |
| 384 | expandattribute hal_usb_server false; |
| 385 | attribute hal_vibrator; |
| 386 | expandattribute hal_vibrator true; |
| 387 | attribute hal_vibrator_client; |
| 388 | expandattribute hal_vibrator_client true; |
| 389 | attribute hal_vibrator_server; |
| 390 | expandattribute hal_vibrator_server false; |
| 391 | attribute hal_vr; |
| 392 | expandattribute hal_vr true; |
| 393 | attribute hal_vr_client; |
| 394 | expandattribute hal_vr_client true; |
| 395 | attribute hal_vr_server; |
| 396 | expandattribute hal_vr_server false; |
| 397 | attribute hal_weaver; |
| 398 | expandattribute hal_weaver true; |
| 399 | attribute hal_weaver_client; |
| 400 | expandattribute hal_weaver_client true; |
| 401 | attribute hal_weaver_server; |
| 402 | expandattribute hal_weaver_server false; |
| 403 | attribute hal_wifi; |
| 404 | expandattribute hal_wifi true; |
| 405 | attribute hal_wifi_client; |
| 406 | expandattribute hal_wifi_client true; |
| 407 | attribute hal_wifi_server; |
| 408 | expandattribute hal_wifi_server false; |
| 409 | attribute hal_wifi_offload; |
| 410 | expandattribute hal_wifi_offload true; |
| 411 | attribute hal_wifi_offload_client; |
| 412 | expandattribute hal_wifi_offload_client true; |
| 413 | attribute hal_wifi_offload_server; |
| 414 | expandattribute hal_wifi_offload_server false; |
| 415 | attribute hal_wifi_supplicant; |
| 416 | expandattribute hal_wifi_supplicant true; |
| 417 | attribute hal_wifi_supplicant_client; |
| 418 | expandattribute hal_wifi_supplicant_client true; |
| 419 | attribute hal_wifi_supplicant_server; |
| 420 | expandattribute hal_wifi_supplicant_server false; |
| 421 | |
| 422 | # HwBinder services offered across the core-vendor boundary |
| 423 | # |
| 424 | # We annotate server domains with x_server to loosen the coupling between |
| 425 | # system and vendor images. For example, it should be possible to move a service |
| 426 | # from one core domain to another, without having to update the vendor image |
| 427 | # which contains clients of this service. |
| 428 | |
| 429 | attribute display_service_server; |
| 430 | attribute wifi_keystore_service_server; |