Home | History | Annotate | Download | only in public
      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;
    431