diff --git a/private/file_contexts b/private/file_contexts index a53c5b166ffa895b81c76768443567810608493c..c0e6fcfe54efc1b6f8c0f3b19133547db9c97d4e 100644 --- a/private/file_contexts +++ b/private/file_contexts @@ -222,6 +222,7 @@ /system/bin/hw/wifi_hal_legacy u:object_r:wifi_hal_legacy_exec:s0 /system/fake-lib(64)?/libart.* u:object_r:libart_file:s0 /system/lib(64)?/libart.* u:object_r:libart_file:s0 +/system/bin/hw/android.hardware.boot@1.0-service u:object_r:hal_boot_exec:s0 /system/bin/hw/android.hardware.nfc@1.0-service u:object_r:android_hardware_nfc_1_0_service_exec:s0 /system/bin/hw/android.hardware.vibrator@1.0-service u:object_r:android_hardware_vibrator_service_exec:s0 /system/bin/hw/android.hardware.vr@1.0-service u:object_r:android_hardware_vr_exec:s0 diff --git a/private/hal_boot.te b/private/hal_boot.te new file mode 100644 index 0000000000000000000000000000000000000000..1307afdfaeac6e41999d34adc807fa5d6057f41e --- /dev/null +++ b/private/hal_boot.te @@ -0,0 +1,2 @@ +# may be started by init +init_daemon_domain(hal_boot) diff --git a/public/hal_boot.te b/public/hal_boot.te new file mode 100644 index 0000000000000000000000000000000000000000..327fbf98fdff65002b9d85301485ae319192e8cc --- /dev/null +++ b/public/hal_boot.te @@ -0,0 +1,9 @@ +# boot_control subsystem +type hal_boot, domain; +type hal_boot_exec, exec_type, file_type; + +# hwbinder access +hwbinder_use(hal_boot) + +# call into system_server process (callbacks) +binder_call(hal_boot, system_server) diff --git a/public/system_server.te b/public/system_server.te index 249a3d348f22b1aa3ca81c75153e73bfe5b290f1..35f1b730661f9c62ce3e5e76c761e189fc6b2220 100644 --- a/public/system_server.te +++ b/public/system_server.te @@ -147,6 +147,7 @@ allow system_server surfaceflinger:unix_stream_socket { read write setopt }; # Perform Binder IPC. binder_use(system_server) +binder_call(system_server, hal_boot) binder_call(system_server, android_hardware_vibrator_service) binder_call(system_server, android_hardware_vr) binder_call(system_server, binderservicedomain)