diff --git a/private/compat/29.0/29.0.ignore.cil b/private/compat/29.0/29.0.ignore.cil index f43c1c1bb..f8ed88bb1 100644 --- a/private/compat/29.0/29.0.ignore.cil +++ b/private/compat/29.0/29.0.ignore.cil @@ -22,6 +22,7 @@ gmscore_app hal_can_bus_hwservice hal_can_controller_hwservice + hal_rebootescrow_service hal_tv_tuner_hwservice hal_vibrator_service init_svc_debug_prop diff --git a/private/service_contexts b/private/service_contexts index bb486e80e..4361982ce 100644 --- a/private/service_contexts +++ b/private/service_contexts @@ -1,3 +1,4 @@ +android.hardware.rebootescrow.IRebootEscrow/default u:object_r:hal_rebootescrow_service:s0 android.hardware.vibrator.IVibrator/default u:object_r:hal_vibrator_service:s0 accessibility u:object_r:accessibility_service:s0 diff --git a/private/system_server.te b/private/system_server.te index cd65022ed..8a44e734d 100644 --- a/private/system_server.te +++ b/private/system_server.te @@ -224,6 +224,7 @@ hal_client_domain(system_server, hal_oemlock) hal_client_domain(system_server, hal_omx) hal_client_domain(system_server, hal_power) hal_client_domain(system_server, hal_power_stats) +hal_client_domain(system_server, hal_rebootescrow) hal_client_domain(system_server, hal_sensors) hal_client_domain(system_server, hal_tetheroffload) hal_client_domain(system_server, hal_thermal) diff --git a/public/attributes b/public/attributes index 9426670d2..db6459042 100644 --- a/public/attributes +++ b/public/attributes @@ -325,6 +325,7 @@ hal_attribute(oemlock); hal_attribute(omx); hal_attribute(power); hal_attribute(power_stats); +hal_attribute(rebootescrow); hal_attribute(secure_element); hal_attribute(sensors); hal_attribute(telephony); diff --git a/public/hal_rebootescrow.te b/public/hal_rebootescrow.te new file mode 100644 index 000000000..4352630ba --- /dev/null +++ b/public/hal_rebootescrow.te @@ -0,0 +1,7 @@ +# HwBinder IPC from client to server +binder_call(hal_rebootescrow_client, hal_rebootescrow_server) + +add_service(hal_rebootescrow_server, hal_rebootescrow_service) +binder_use(hal_rebootescrow_server) + +allow hal_rebootescrow_client hal_rebootescrow_service:service_manager find; diff --git a/public/service.te b/public/service.te index dfae57b1b..9163e3b50 100644 --- a/public/service.te +++ b/public/service.te @@ -199,6 +199,7 @@ type tethering_service, system_server_service, service_manager_type; ### HAL Services ### +type hal_rebootescrow_service, vendor_service, service_manager_type; type hal_vibrator_service, vendor_service, service_manager_type; ### diff --git a/public/su.te b/public/su.te index b47e175fa..bf0df8c41 100644 --- a/public/su.te +++ b/public/su.te @@ -86,6 +86,7 @@ userdebug_or_eng(` typeattribute su hal_nfc_client; typeattribute su hal_oemlock_client; typeattribute su hal_power_client; + typeattribute su hal_rebootescrow_client; typeattribute su hal_secure_element_client; typeattribute su hal_sensors_client; typeattribute su hal_telephony_client; diff --git a/vendor/hal_rebootescrow_default.te b/vendor/hal_rebootescrow_default.te new file mode 100644 index 000000000..c264e49d9 --- /dev/null +++ b/vendor/hal_rebootescrow_default.te @@ -0,0 +1,5 @@ +type hal_rebootescrow_default, domain; +hal_server_domain(hal_rebootescrow_default, hal_rebootescrow) + +type hal_rebootescrow_default_exec, exec_type, vendor_file_type, file_type; +init_daemon_domain(hal_rebootescrow_default)