blob: 04d0b59a5a690cf3c504eb8b141832c413d61804 [file] [log] [blame]
Dan Cashman91d398d2017-09-26 12:58:29 -07001# HwBinder IPC from client to server, and callbacks
2binder_call(hal_neuralnetworks_client, hal_neuralnetworks_server)
3binder_call(hal_neuralnetworks_server, hal_neuralnetworks_client)
4
Steven Moreland9234e002018-06-06 09:30:18 -07005hal_attribute_hwservice(hal_neuralnetworks, hal_neuralnetworks_hwservice)
Dan Cashman91d398d2017-09-26 12:58:29 -07006allow hal_neuralnetworks hidl_memory_hwservice:hwservice_manager find;
7allow hal_neuralnetworks hal_allocator:fd use;
Xusong Wang83db40b2020-02-21 10:53:09 -08008allow hal_neuralnetworks hal_graphics_mapper_hwservice:hwservice_manager find;
9allow hal_neuralnetworks hal_graphics_allocator:fd use;
Michael Butler3ff7bf82018-12-07 17:24:24 -080010
11# Allow NN HAL service to use a client-provided fd residing in /data/data/.
12allow hal_neuralnetworks_server app_data_file:file { read write getattr map };
Miao Wang8c2f4ba2019-04-24 16:44:41 -070013allow hal_neuralnetworks_server privapp_data_file:file { read write getattr map };
Michael Butler3ff7bf82018-12-07 17:24:24 -080014
15# Allow NN HAL service to use a client-provided fd residing in /data/local/tmp/.
16allow hal_neuralnetworks_server shell_data_file:file { read write getattr map };
Przemyslaw Szczepaniak62a22ce2019-04-02 15:34:16 +010017
Xusong Wang83db40b2020-02-21 10:53:09 -080018# Allow NN HAL service to read a client-provided ION memory fd.
19allow hal_neuralnetworks_server ion_device:chr_file r_file_perms;
20
Przemysław Szczepaniak94be9802020-04-23 17:04:05 +010021# Allow NN HAL service to use a client-provided fd residing in /storage
22allow hal_neuralnetworks_server storage_file:file { getattr map read };
23
Xusong Wangc4e559e2021-04-16 16:34:57 -070024# Allow NN HAL service to read a client-provided fd residing in /data/app/.
25allow hal_neuralnetworks_server apk_data_file:file { getattr map read };
26
Przemyslaw Szczepaniak62a22ce2019-04-02 15:34:16 +010027# Allow NN HAL client to check the ro.nnapi.extensions.deny_on_product
28# property to determine whether to deny NNAPI extensions use for apps
29# on product partition (apps in GSI are not allowed to use NNAPI extensions).
30get_prop(hal_neuralnetworks_client, nnapi_ext_deny_product_prop);
Ian Hua91d153e2021-10-05 15:23:18 +010031
32# Allow NN HAL client to read device_config_nnapi_native_prop.
33get_prop(hal_neuralnetworks_client, device_config_nnapi_native_prop)
34
Przemyslaw Szczepaniak62a22ce2019-04-02 15:34:16 +010035# This property is only expected to be found in /product/build.prop,
36# allow to be set only by init.
37neverallow { domain -init } nnapi_ext_deny_product_prop:property_service set;
Lev Proleeve4414bf2021-01-19 15:23:51 +000038
39# Define sepolicy for NN AIDL HAL service
40hal_attribute_service(hal_neuralnetworks, hal_neuralnetworks_service)
41binder_call(hal_neuralnetworks_server, servicemanager)
42
Michael Butler581faff2021-04-13 16:27:19 -070043binder_use(hal_neuralnetworks_server)
44
Lev Proleeve4414bf2021-01-19 15:23:51 +000045allow hal_neuralnetworks_server dumpstate:fifo_file write;