From 4cc0efc9a1211fadc52bfaf45e7e08c19027b836 Mon Sep 17 00:00:00 2001 From: David Li Date: Wed, 5 Jul 2023 17:39:10 +0800 Subject: [PATCH] audio: add audio HAL parameter parser and its sepolicy - pack the parameter parser service into the image - add sepolicy for the service audio-hal-parserservice Bug: 274433842 Test: manual test; make -j128 Change-Id: Ia47da38060a99cf32da5db60cef7e4a067dd0f24 --- audio/aidl.mk | 3 ++- audio/sepolicy/aidl/file_contexts | 1 + audio/sepolicy/aidl/parser_service.te | 14 ++++++++++++++ audio/sepolicy/aidl/service.te | 1 + audio/sepolicy/aidl/service_contexts | 2 ++ 5 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 audio/sepolicy/aidl/parser_service.te diff --git a/audio/aidl.mk b/audio/aidl.mk index 172b63d..bd11249 100644 --- a/audio/aidl.mk +++ b/audio/aidl.mk @@ -2,7 +2,8 @@ DEVICE_MANIFEST_FILE += device/google/gs-common/audio/aidl/manifest.xml # Audio HALs PRODUCT_PACKAGES += \ - android.hardware.audio.service-aidl.aoc + android.hardware.audio.service-aidl.aoc \ + vendor.google.whitechapel.audio.hal.parserservice \ # AIDL software effects. These are the effects supporting in all projects. # For the project-specific effects, such as haptic generator, please add them diff --git a/audio/sepolicy/aidl/file_contexts b/audio/sepolicy/aidl/file_contexts index 9e07893..3f3390e 100644 --- a/audio/sepolicy/aidl/file_contexts +++ b/audio/sepolicy/aidl/file_contexts @@ -1,2 +1,3 @@ # Audio Hal AIDL Service for Aoc /vendor/bin/hw/android\.hardware\.audio\.service-aidl\.aoc u:object_r:hal_audio_default_exec:s0 +/system_ext/bin/hw/vendor\.google\.whitechapel\.audio\.hal\.parserservice u:object_r:hal_audio_parameter_parser_exec:s0 diff --git a/audio/sepolicy/aidl/parser_service.te b/audio/sepolicy/aidl/parser_service.te new file mode 100644 index 0000000..bce6d49 --- /dev/null +++ b/audio/sepolicy/aidl/parser_service.te @@ -0,0 +1,14 @@ +# Define a parameter parser service +type hal_audio_parameter_parser, coredomain, domain; +type hal_audio_parameter_parser_exec, system_file_type, file_type, exec_type; +init_daemon_domain(hal_audio_parameter_parser) + +# The server will serve a binder service. +binder_service(hal_audio_parameter_parser) + +add_service(hal_audio_parameter_parser, hal_audio_parameter_parser_service); + +binder_call(audioserver, hal_audio_parameter_parser) +binder_call(hal_audio_parameter_parser, servicemanager) + +allow audioserver hal_audio_parameter_parser_service:service_manager find; diff --git a/audio/sepolicy/aidl/service.te b/audio/sepolicy/aidl/service.te index 052558c..bf73ead 100644 --- a/audio/sepolicy/aidl/service.te +++ b/audio/sepolicy/aidl/service.te @@ -1,2 +1,3 @@ # Audio type hal_audio_ext_service, service_manager_type; +type hal_audio_parameter_parser_service, service_manager_type; diff --git a/audio/sepolicy/aidl/service_contexts b/audio/sepolicy/aidl/service_contexts index 1b5f301..c2b7716 100644 --- a/audio/sepolicy/aidl/service_contexts +++ b/audio/sepolicy/aidl/service_contexts @@ -1,2 +1,4 @@ # Audio vendor.google.whitechapel.audio.extension.IAudioExtension/default u:object_r:hal_audio_ext_service:s0 +android.media.audio.IHalAdapterVendorExtension/default u:object_r:hal_audio_parameter_parser_service:s0 +