diff --git a/private/system_server.te b/private/system_server.te index 294ceb4fec0baa8ca56372732456767ece0a2f3e..d78c5768208fba4605bbac5dd0149ebcc5cd171f 100644 --- a/private/system_server.te +++ b/private/system_server.te @@ -182,7 +182,7 @@ binder_call(system_server, hal_ir) binder_call(system_server, hal_light) binder_call(system_server, hal_memtrack) binder_call(system_server, hal_power) -binder_call(system_server, hal_sensors) +hal_client_domain(system_server, hal_sensors) binder_call(system_server, hal_thermal) binder_call(system_server, hal_usb) binder_call(system_server, hal_vibrator) @@ -453,9 +453,6 @@ allow system_server cache_private_backup_file:file create_file_perms; allow system_server usb_device:chr_file rw_file_perms; allow system_server usb_device:dir r_dir_perms; -# Allow system to talk to sensors -allow system_server sensors_device:chr_file rw_file_perms; - # Read from HW RNG (needed by EntropyMixer). allow system_server hw_random_device:chr_file r_file_perms; diff --git a/public/attributes b/public/attributes index 171ebd8a9eb820b1865f20777eed3beb869fd170..d26f7eee8a9ee5a4cb2de0552451060a11167684 100644 --- a/public/attributes +++ b/public/attributes @@ -160,6 +160,8 @@ attribute hal_memtrack; attribute hal_nfc; attribute hal_power; attribute hal_sensors; +attribute hal_sensors_client; +attribute hal_sensors_server; attribute hal_telephony; attribute hal_thermal; attribute hal_usb; diff --git a/public/hal_sensors.te b/public/hal_sensors.te index 0f52ff55dd11ddc5219203030c955436a23543ce..0d6dfe077047ae6f10a74a364c30ce330cdb5891 100644 --- a/public/hal_sensors.te +++ b/public/hal_sensors.te @@ -1,2 +1,5 @@ -#Allow sensor hals to access ashmem memory allocated by apps -allow hal_sensors {appdomain - isolated_app}:fd use; +# HwBinder IPC from client to server +binder_call(hal_sensors_client, hal_sensors_server) + +# Allow sensor hals to access ashmem memory allocated by apps +allow hal_sensors { appdomain -isolated_app }:fd use; diff --git a/vendor/hal_sensors_default.te b/vendor/hal_sensors_default.te index 3c3a104a6366966e3f17adad7eed331ed068691b..b4c9a8632880b7bfe83b18d6b7150b453bdb742f 100644 --- a/vendor/hal_sensors_default.te +++ b/vendor/hal_sensors_default.te @@ -1,5 +1,5 @@ type hal_sensors_default, domain; -hal_impl_domain(hal_sensors_default, hal_sensors) +hal_server_domain(hal_sensors_default, hal_sensors) type hal_sensors_default_exec, exec_type, file_type; init_daemon_domain(hal_sensors_default)