From 1eeb466b559e3373d7ccbed1e6765c86a9a73a04 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Tue, 24 Aug 2021 11:32:45 +0800 Subject: [PATCH 1/4] modularize aocd Bug: 197585437 Test: boot with aoc started Change-Id: Ib8f3aad606f8a2c3d5d5a75287816ab4cb8318a8 --- {legacy => aoc}/aocd.te | 0 aoc/device.te | 2 ++ aoc/file.te | 8 ++++++++ aoc/file_contexts | 24 ++++++++++++++++++++++++ aoc/genfs_contexts | 5 +++++ aoc/property.te | 2 ++ aoc/property_contexts | 2 ++ legacy/device.te | 3 --- legacy/file.te | 7 ------- legacy/file_contexts | 21 --------------------- legacy/genfs_contexts | 6 ------ legacy/property.te | 3 --- legacy/property_contexts | 3 --- 13 files changed, 43 insertions(+), 43 deletions(-) rename {legacy => aoc}/aocd.te (100%) create mode 100644 aoc/device.te create mode 100644 aoc/file.te create mode 100644 aoc/file_contexts create mode 100644 aoc/genfs_contexts create mode 100644 aoc/property.te create mode 100644 aoc/property_contexts diff --git a/legacy/aocd.te b/aoc/aocd.te similarity index 100% rename from legacy/aocd.te rename to aoc/aocd.te diff --git a/aoc/device.te b/aoc/device.te new file mode 100644 index 00000000..bf9afb58 --- /dev/null +++ b/aoc/device.te @@ -0,0 +1,2 @@ +# AOC device +type aoc_device, dev_type; diff --git a/aoc/file.te b/aoc/file.te new file mode 100644 index 00000000..67f3e945 --- /dev/null +++ b/aoc/file.te @@ -0,0 +1,8 @@ +# sysfs +type sysfs_aoc_boottime, sysfs_type, fs_type; +type sysfs_aoc_firmware, sysfs_type, fs_type; +type sysfs_aoc, sysfs_type, fs_type; +type sysfs_aoc_reset, sysfs_type, fs_type; + +# persist +type persist_aoc_file, file_type, vendor_persist_type; diff --git a/aoc/file_contexts b/aoc/file_contexts new file mode 100644 index 00000000..6a4dea33 --- /dev/null +++ b/aoc/file_contexts @@ -0,0 +1,24 @@ +# AoC devices +/dev/acd-audio_output_tuning u:object_r:aoc_device:s0 +/dev/acd-audio_bulk_tx u:object_r:aoc_device:s0 +/dev/acd-audio_bulk_rx u:object_r:aoc_device:s0 +/dev/acd-audio_input_tuning u:object_r:aoc_device:s0 +/dev/acd-audio_input_bulk_tx u:object_r:aoc_device:s0 +/dev/acd-audio_input_bulk_rx u:object_r:aoc_device:s0 +/dev/acd-sound_trigger u:object_r:aoc_device:s0 +/dev/acd-hotword_notification u:object_r:aoc_device:s0 +/dev/acd-hotword_pcm u:object_r:aoc_device:s0 +/dev/acd-ambient_pcm u:object_r:aoc_device:s0 +/dev/acd-model_data u:object_r:aoc_device:s0 +/dev/acd-debug u:object_r:aoc_device:s0 +/dev/acd-audio_tap[0-9]* u:object_r:aoc_device:s0 +/dev/acd-audio_dcdoff_ref u:object_r:aoc_device:s0 +/dev/acd-com.google.usf u:object_r:aoc_device:s0 +/dev/acd-logging u:object_r:aoc_device:s0 +/dev/aoc u:object_r:aoc_device:s0 + +# AoC vendor binaries +/vendor/bin/aocd u:object_r:aocd_exec:s0 + +# Aoc persist files +/mnt/vendor/persist/aoc(/.*)? u:object_r:persist_aoc_file:s0 diff --git a/aoc/genfs_contexts b/aoc/genfs_contexts new file mode 100644 index 00000000..0ddd61d5 --- /dev/null +++ b/aoc/genfs_contexts @@ -0,0 +1,5 @@ +# AOC +genfscon sysfs /devices/platform/19000000.aoc/aoc_clock_and_kernel_boottime u:object_r:sysfs_aoc_boottime:s0 +genfscon sysfs /devices/platform/19000000.aoc/firmware u:object_r:sysfs_aoc_firmware:s0 +genfscon sysfs /devices/platform/19000000.aoc u:object_r:sysfs_aoc:s0 +genfscon sysfs /devices/platform/19000000.aoc/reset u:object_r:sysfs_aoc_reset:s0 diff --git a/aoc/property.te b/aoc/property.te new file mode 100644 index 00000000..e6f9ddba --- /dev/null +++ b/aoc/property.te @@ -0,0 +1,2 @@ +# AoC +vendor_internal_prop(vendor_aoc_prop) diff --git a/aoc/property_contexts b/aoc/property_contexts new file mode 100644 index 00000000..08388735 --- /dev/null +++ b/aoc/property_contexts @@ -0,0 +1,2 @@ +# AoC +vendor.aoc.firmware.version u:object_r:vendor_aoc_prop:s0 diff --git a/legacy/device.te b/legacy/device.te index 55205990..5a2f4794 100644 --- a/legacy/device.te +++ b/legacy/device.te @@ -46,9 +46,6 @@ type vframe_heap_device, dmabuf_heap_device_type, dev_type; #vscaler-secure DMA-BUF heap type vscaler_heap_device, dmabuf_heap_device_type, dev_type; -# AOC device -type aoc_device, dev_type; - # Fingerprint device type fingerprint_device, dev_type; diff --git a/legacy/file.te b/legacy/file.te index 17c8c0bb..72311d99 100644 --- a/legacy/file.te +++ b/legacy/file.te @@ -83,15 +83,8 @@ type per_boot_file, file_type, data_file_type, core_data_file_type; type proc_touch, proc_type, fs_type, mlstrustedobject; type sysfs_touch, sysfs_type, fs_type; -# AOC -type sysfs_aoc_boottime, sysfs_type, fs_type; -type sysfs_aoc_firmware, sysfs_type, fs_type; -type sysfs_aoc, sysfs_type, fs_type; -type sysfs_aoc_reset, sysfs_type, fs_type; - # Audio type persist_audio_file, file_type, vendor_persist_type; -type persist_aoc_file, file_type, vendor_persist_type; type audio_vendor_data_file, file_type, data_file_type; type aoc_audio_file, file_type, vendor_file_type; diff --git a/legacy/file_contexts b/legacy/file_contexts index 7c759729..9adb249b 100644 --- a/legacy/file_contexts +++ b/legacy/file_contexts @@ -216,9 +216,6 @@ # Sensors /data/vendor/sensor(/.*)? u:object_r:sensor_vendor_data_file:s0 -/dev/acd-com.google.usf u:object_r:aoc_device:s0 -/dev/acd-logging u:object_r:aoc_device:s0 -/dev/aoc u:object_r:aoc_device:s0 # Contexthub /vendor/bin/hw/android\.hardware\.contexthub@1\.2-service\.generic u:object_r:hal_contexthub_default_exec:s0 @@ -267,24 +264,9 @@ /dev/logbuffer_tty16 u:object_r:logbuffer_device:s0 # Audio -/mnt/vendor/persist/aoc(/.*)? u:object_r:persist_aoc_file:s0 /mnt/vendor/persist/audio(/.*)? u:object_r:persist_audio_file:s0 /data/vendor/audio(/.*)? u:object_r:audio_vendor_data_file:s0 /vendor/etc/aoc(/.*)? u:object_r:aoc_audio_file:s0 -/dev/acd-audio_output_tuning u:object_r:aoc_device:s0 -/dev/acd-audio_bulk_tx u:object_r:aoc_device:s0 -/dev/acd-audio_bulk_rx u:object_r:aoc_device:s0 -/dev/acd-audio_input_tuning u:object_r:aoc_device:s0 -/dev/acd-audio_input_bulk_tx u:object_r:aoc_device:s0 -/dev/acd-audio_input_bulk_rx u:object_r:aoc_device:s0 -/dev/acd-sound_trigger u:object_r:aoc_device:s0 -/dev/acd-hotword_notification u:object_r:aoc_device:s0 -/dev/acd-hotword_pcm u:object_r:aoc_device:s0 -/dev/acd-ambient_pcm u:object_r:aoc_device:s0 -/dev/acd-model_data u:object_r:aoc_device:s0 -/dev/acd-debug u:object_r:aoc_device:s0 -/dev/acd-audio_tap[0-9]* u:object_r:aoc_device:s0 -/dev/acd-audio_dcdoff_ref u:object_r:aoc_device:s0 /dev/amcs u:object_r:amcs_device:s0 # AudioMetric @@ -307,9 +289,6 @@ # Battery /mnt/vendor/persist/battery(/.*)? u:object_r:persist_battery_file:s0 -# AoC file contexts. -/vendor/bin/aocd u:object_r:aocd_exec:s0 - # NeuralNetworks file contexts /vendor/bin/hw/android\.hardware\.neuralnetworks@1\.3-service-armnn u:object_r:hal_neuralnetworks_armnn_exec:s0 diff --git a/legacy/genfs_contexts b/legacy/genfs_contexts index b15a6288..461ada53 100644 --- a/legacy/genfs_contexts +++ b/legacy/genfs_contexts @@ -1,9 +1,3 @@ -# AOC -genfscon sysfs /devices/platform/19000000.aoc/aoc_clock_and_kernel_boottime u:object_r:sysfs_aoc_boottime:s0 -genfscon sysfs /devices/platform/19000000.aoc/firmware u:object_r:sysfs_aoc_firmware:s0 -genfscon sysfs /devices/platform/19000000.aoc u:object_r:sysfs_aoc:s0 -genfscon sysfs /devices/platform/19000000.aoc/reset u:object_r:sysfs_aoc_reset:s0 - # WiFi genfscon sysfs /wifi u:object_r:sysfs_wifi:s0 # Battery diff --git a/legacy/property.te b/legacy/property.te index 80976174..ff408785 100644 --- a/legacy/property.te +++ b/legacy/property.te @@ -25,9 +25,6 @@ vendor_internal_prop(vendor_battery_defender_prop) # Battery profile for harness mode vendor_internal_prop(vendor_battery_profile_prop) -# AoC -vendor_internal_prop(vendor_aoc_prop) - # Logger vendor_internal_prop(vendor_logger_prop) diff --git a/legacy/property_contexts b/legacy/property_contexts index 8db6f7d7..d0da2cc2 100644 --- a/legacy/property_contexts +++ b/legacy/property_contexts @@ -65,9 +65,6 @@ vendor.battery.defender. u:object_r:vendor_battery_defend # test battery profile persist.vendor.testing_battery_profile u:object_r:vendor_battery_profile_prop:s0 -# AoC -vendor.aoc.firmware.version u:object_r:vendor_aoc_prop:s0 - # WiFi vendor.wlan.driver.version u:object_r:vendor_wifi_version:s0 vendor.wlan.firmware.version u:object_r:vendor_wifi_version:s0 From ee94f61357a74af6725bf9dc54542c0e535341a2 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Tue, 24 Aug 2021 14:24:46 +0800 Subject: [PATCH 2/4] modularize aocdump Bug: 197585437 Test: build ROM with aocdump labeled correctly Change-Id: Ia2c2877a337bca6711d0f15a309b9012624ce76b --- {legacy => aoc}/aocdump.te | 3 --- aoc/file.te | 3 +++ aoc/file_contexts | 4 ++++ aoc/property.te | 2 ++ aoc/property_contexts | 8 ++++++++ legacy/file.te | 1 - legacy/file_contexts | 4 ---- legacy/property.te | 1 - legacy/property_contexts | 10 ---------- 9 files changed, 17 insertions(+), 19 deletions(-) rename {legacy => aoc}/aocdump.te (76%) diff --git a/legacy/aocdump.te b/aoc/aocdump.te similarity index 76% rename from legacy/aocdump.te rename to aoc/aocdump.te index ca468a35..90911424 100644 --- a/legacy/aocdump.te +++ b/aoc/aocdump.te @@ -6,14 +6,11 @@ userdebug_or_eng(` # Permit communication with AoC allow aocdump aoc_device:chr_file rw_file_perms; - allow aocdump radio_vendor_data_file:dir rw_dir_perms; - allow aocdump radio_vendor_data_file:file create_file_perms; allow aocdump wifi_logging_data_file:dir create_dir_perms; allow aocdump wifi_logging_data_file:file create_file_perms; set_prop(aocdump, vendor_audio_prop); r_dir_file(aocdump, proc_asound) allow aocdump self:unix_stream_socket create_stream_socket_perms; - allow aocdump property_socket:sock_file { write }; allow aocdump audio_vendor_data_file:sock_file { create unlink }; ') diff --git a/aoc/file.te b/aoc/file.te index 67f3e945..5d7031cb 100644 --- a/aoc/file.te +++ b/aoc/file.te @@ -6,3 +6,6 @@ type sysfs_aoc_reset, sysfs_type, fs_type; # persist type persist_aoc_file, file_type, vendor_persist_type; + +# data +type audio_vendor_data_file, file_type, data_file_type; diff --git a/aoc/file_contexts b/aoc/file_contexts index 6a4dea33..da9ab4cd 100644 --- a/aoc/file_contexts +++ b/aoc/file_contexts @@ -19,6 +19,10 @@ # AoC vendor binaries /vendor/bin/aocd u:object_r:aocd_exec:s0 +/vendor/bin/aocdump u:object_r:aocdump_exec:s0 # Aoc persist files /mnt/vendor/persist/aoc(/.*)? u:object_r:persist_aoc_file:s0 + +# Audio data files +/data/vendor/audio(/.*)? u:object_r:audio_vendor_data_file:s0 diff --git a/aoc/property.te b/aoc/property.te index e6f9ddba..d38e3ec8 100644 --- a/aoc/property.te +++ b/aoc/property.te @@ -1,2 +1,4 @@ # AoC vendor_internal_prop(vendor_aoc_prop) +# Audio +vendor_internal_prop(vendor_audio_prop) diff --git a/aoc/property_contexts b/aoc/property_contexts index 08388735..cf460c23 100644 --- a/aoc/property_contexts +++ b/aoc/property_contexts @@ -1,2 +1,10 @@ # AoC vendor.aoc.firmware.version u:object_r:vendor_aoc_prop:s0 + +# for audio +vendor.audio_hal.period_multiplier u:object_r:vendor_audio_prop:s0 +vendor.audiodump.enable u:object_r:vendor_audio_prop:s0 +persist.vendor.audio. u:object_r:vendor_audio_prop:s0 +vendor.audiodump.log.ondemand u:object_r:vendor_audio_prop:s0 +vendor.audiodump.log.config u:object_r:vendor_audio_prop:s0 +vendor.audiodump.output.dir u:object_r:vendor_audio_prop:s0 diff --git a/legacy/file.te b/legacy/file.te index 72311d99..777f6a35 100644 --- a/legacy/file.te +++ b/legacy/file.te @@ -85,7 +85,6 @@ type sysfs_touch, sysfs_type, fs_type; # Audio type persist_audio_file, file_type, vendor_persist_type; -type audio_vendor_data_file, file_type, data_file_type; type aoc_audio_file, file_type, vendor_file_type; # RILD diff --git a/legacy/file_contexts b/legacy/file_contexts index 9adb249b..21994bbd 100644 --- a/legacy/file_contexts +++ b/legacy/file_contexts @@ -226,9 +226,6 @@ /vendor/bin/tcpdump_logger u:object_r:tcpdump_logger_exec:s0 /data/vendor/tcpdump_logger(/.*)? u:object_r:tcpdump_vendor_data_file:s0 -# Audio logging -/vendor/bin/aocdump u:object_r:aocdump_exec:s0 - # modem_svc_sit files /vendor/bin/modem_svc_sit u:object_r:modem_svc_sit_exec:s0 /data/vendor/modem_stat/debug\.txt u:object_r:modem_stat_data_file:s0 @@ -265,7 +262,6 @@ # Audio /mnt/vendor/persist/audio(/.*)? u:object_r:persist_audio_file:s0 -/data/vendor/audio(/.*)? u:object_r:audio_vendor_data_file:s0 /vendor/etc/aoc(/.*)? u:object_r:aoc_audio_file:s0 /dev/amcs u:object_r:amcs_device:s0 diff --git a/legacy/property.te b/legacy/property.te index ff408785..4a7c01c6 100644 --- a/legacy/property.te +++ b/legacy/property.te @@ -11,7 +11,6 @@ vendor_internal_prop(vendor_ro_config_default_prop) vendor_internal_prop(vendor_sys_default_prop) vendor_internal_prop(vendor_ro_sys_default_prop) vendor_internal_prop(vendor_persist_sys_default_prop) -vendor_internal_prop(vendor_audio_prop) vendor_internal_prop(vendor_codec2_debug_prop) vendor_internal_prop(vendor_display_prop) vendor_internal_prop(vendor_camera_prop) diff --git a/legacy/property_contexts b/legacy/property_contexts index d0da2cc2..ba12f0ef 100644 --- a/legacy/property_contexts +++ b/legacy/property_contexts @@ -31,16 +31,6 @@ vendor.sys. u:object_r:vendor_sys_default_prop:s0 ro.vendor.sys. u:object_r:vendor_ro_sys_default_prop:s0 persist.vendor.sys. u:object_r:vendor_persist_sys_default_prop:s0 - -# for audio -vendor.audio_hal.period_multiplier u:object_r:vendor_audio_prop:s0 -vendor.audiodump.enable u:object_r:vendor_audio_prop:s0 -persist.vendor.audio. u:object_r:vendor_audio_prop:s0 -vendor.audiodump.log.ondemand u:object_r:vendor_audio_prop:s0 -vendor.audiodump.log.config u:object_r:vendor_audio_prop:s0 -vendor.audiodump.output.dir u:object_r:vendor_audio_prop:s0 - - # for display ro.vendor.hwc.drm.device u:object_r:vendor_display_prop:s0 From d9c4ed7b59a9d38ed9531702369ebc91b05a4408 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Tue, 24 Aug 2021 15:00:24 +0800 Subject: [PATCH 3/4] modularize hal_audio_default Bug: 197585437 Test: boot with hal_audio_default initialized Change-Id: I90435ffa66d342ee5c96bcb872d2ebefe5b4ef7c --- aoc/device.te | 3 +++ aoc/file.te | 4 ++++ aoc/file_contexts | 5 +++++ aoc/hal_audio_default.te | 30 ++++++++++++++++++++++++++++++ aoc/hwservice.te | 2 ++ aoc/hwservice_contexts | 2 ++ legacy/device.te | 3 --- legacy/file.te | 4 ---- legacy/file_contexts | 5 ----- legacy/hal_audio_default.te | 30 ------------------------------ legacy/hwservice.te | 3 --- legacy/hwservice_contexts | 3 --- 12 files changed, 46 insertions(+), 48 deletions(-) create mode 100644 aoc/hal_audio_default.te create mode 100644 aoc/hwservice.te create mode 100644 aoc/hwservice_contexts diff --git a/aoc/device.te b/aoc/device.te index bf9afb58..fbd2b327 100644 --- a/aoc/device.te +++ b/aoc/device.te @@ -1,2 +1,5 @@ # AOC device type aoc_device, dev_type; + +# AMCS device +type amcs_device, dev_type; diff --git a/aoc/file.te b/aoc/file.te index 5d7031cb..4d392938 100644 --- a/aoc/file.te +++ b/aoc/file.te @@ -6,6 +6,10 @@ type sysfs_aoc_reset, sysfs_type, fs_type; # persist type persist_aoc_file, file_type, vendor_persist_type; +type persist_audio_file, file_type, vendor_persist_type; + +# vendor +type aoc_audio_file, file_type, vendor_file_type; # data type audio_vendor_data_file, file_type, data_file_type; diff --git a/aoc/file_contexts b/aoc/file_contexts index da9ab4cd..edd3ebb1 100644 --- a/aoc/file_contexts +++ b/aoc/file_contexts @@ -16,13 +16,18 @@ /dev/acd-com.google.usf u:object_r:aoc_device:s0 /dev/acd-logging u:object_r:aoc_device:s0 /dev/aoc u:object_r:aoc_device:s0 +/dev/amcs u:object_r:amcs_device:s0 # AoC vendor binaries /vendor/bin/aocd u:object_r:aocd_exec:s0 /vendor/bin/aocdump u:object_r:aocdump_exec:s0 +# AoC audio files +/vendor/etc/aoc(/.*)? u:object_r:aoc_audio_file:s0 + # Aoc persist files /mnt/vendor/persist/aoc(/.*)? u:object_r:persist_aoc_file:s0 +/mnt/vendor/persist/audio(/.*)? u:object_r:persist_audio_file:s0 # Audio data files /data/vendor/audio(/.*)? u:object_r:audio_vendor_data_file:s0 diff --git a/aoc/hal_audio_default.te b/aoc/hal_audio_default.te new file mode 100644 index 00000000..6334b93f --- /dev/null +++ b/aoc/hal_audio_default.te @@ -0,0 +1,30 @@ +vndbinder_use(hal_audio_default) +hwbinder_use(hal_audio_default) + +allow hal_audio_default audio_vendor_data_file:dir rw_dir_perms; +allow hal_audio_default audio_vendor_data_file:file create_file_perms; + +r_dir_file(hal_audio_default, aoc_audio_file); +r_dir_file(hal_audio_default, mnt_vendor_file); +r_dir_file(hal_audio_default, persist_audio_file); + +allow hal_audio_default persist_file:dir search; +allow hal_audio_default aoc_device:file rw_file_perms; +allow hal_audio_default aoc_device:chr_file rw_file_perms; + +allow hal_audio_default hal_audio_ext_hwservice:hwservice_manager { find add }; + +allow hal_audio_default amcs_device:file rw_file_perms; +allow hal_audio_default amcs_device:chr_file rw_file_perms; + +#allow access to DMABUF Heaps for AAudio API +allow hal_audio_default dmabuf_heap_device:chr_file r_file_perms; + +get_prop(hal_audio_default, vendor_audio_prop); + +userdebug_or_eng(` + allow hal_audio_default self:unix_stream_socket create_stream_socket_perms; + allow hal_audio_default audio_vendor_data_file:sock_file { create unlink }; +') + +wakelock_use(hal_audio_default); diff --git a/aoc/hwservice.te b/aoc/hwservice.te new file mode 100644 index 00000000..15aaaf71 --- /dev/null +++ b/aoc/hwservice.te @@ -0,0 +1,2 @@ +# Audio +type hal_audio_ext_hwservice, hwservice_manager_type; diff --git a/aoc/hwservice_contexts b/aoc/hwservice_contexts new file mode 100644 index 00000000..8eadd213 --- /dev/null +++ b/aoc/hwservice_contexts @@ -0,0 +1,2 @@ +# Audio +vendor.google.whitechapel.audio.audioext::IAudioExt u:object_r:hal_audio_ext_hwservice:s0 diff --git a/legacy/device.te b/legacy/device.te index 5a2f4794..a3af95f8 100644 --- a/legacy/device.te +++ b/legacy/device.te @@ -49,6 +49,3 @@ type vscaler_heap_device, dmabuf_heap_device_type, dev_type; # Fingerprint device type fingerprint_device, dev_type; -# AMCS device -type amcs_device, dev_type; - diff --git a/legacy/file.te b/legacy/file.te index 777f6a35..f7f9b42f 100644 --- a/legacy/file.te +++ b/legacy/file.te @@ -83,10 +83,6 @@ type per_boot_file, file_type, data_file_type, core_data_file_type; type proc_touch, proc_type, fs_type, mlstrustedobject; type sysfs_touch, sysfs_type, fs_type; -# Audio -type persist_audio_file, file_type, vendor_persist_type; -type aoc_audio_file, file_type, vendor_file_type; - # RILD type rild_vendor_data_file, file_type, data_file_type; diff --git a/legacy/file_contexts b/legacy/file_contexts index 21994bbd..99f31862 100644 --- a/legacy/file_contexts +++ b/legacy/file_contexts @@ -260,11 +260,6 @@ /dev/logbuffer_btlpm u:object_r:logbuffer_device:s0 /dev/logbuffer_tty16 u:object_r:logbuffer_device:s0 -# Audio -/mnt/vendor/persist/audio(/.*)? u:object_r:persist_audio_file:s0 -/vendor/etc/aoc(/.*)? u:object_r:aoc_audio_file:s0 -/dev/amcs u:object_r:amcs_device:s0 - # AudioMetric /(vendor|system/vendor)/bin/hw/vendor\.google\.audiometricext@1\.0-service-vendor u:object_r:hal_audiometricext_default_exec:s0 diff --git a/legacy/hal_audio_default.te b/legacy/hal_audio_default.te index 5ee99469..31ed6a9b 100644 --- a/legacy/hal_audio_default.te +++ b/legacy/hal_audio_default.te @@ -1,31 +1 @@ -vndbinder_use(hal_audio_default) -hwbinder_use(hal_audio_default) - -allow hal_audio_default audio_vendor_data_file:dir rw_dir_perms; -allow hal_audio_default audio_vendor_data_file:file create_file_perms; - -r_dir_file(hal_audio_default, aoc_audio_file); -r_dir_file(hal_audio_default, mnt_vendor_file); -r_dir_file(hal_audio_default, persist_audio_file); - -allow hal_audio_default persist_file:dir search; -allow hal_audio_default aoc_device:file rw_file_perms; -allow hal_audio_default aoc_device:chr_file rw_file_perms; - -allow hal_audio_default hal_audio_ext_hwservice:hwservice_manager { find add }; - -allow hal_audio_default amcs_device:file rw_file_perms; -allow hal_audio_default amcs_device:chr_file rw_file_perms; allow hal_audio_default sysfs_pixelstats:file rw_file_perms; - -#allow access to DMABUF Heaps for AAudio API -allow hal_audio_default dmabuf_heap_device:chr_file r_file_perms; - -get_prop(hal_audio_default, vendor_audio_prop); - -userdebug_or_eng(` - allow hal_audio_default self:unix_stream_socket create_stream_socket_perms; - allow hal_audio_default audio_vendor_data_file:sock_file { create unlink }; -') - -wakelock_use(hal_audio_default); diff --git a/legacy/hwservice.te b/legacy/hwservice.te index 5d1d6a31..81372fc2 100644 --- a/legacy/hwservice.te +++ b/legacy/hwservice.te @@ -7,9 +7,6 @@ type hal_exynos_rild_hwservice, hwservice_manager_type; # GRIL service type hal_radioext_hwservice, hwservice_manager_type; -# Audio -type hal_audio_ext_hwservice, hwservice_manager_type; - # WLC type hal_wlc_hwservice, hwservice_manager_type; diff --git a/legacy/hwservice_contexts b/legacy/hwservice_contexts index 4f466bf0..113d6623 100644 --- a/legacy/hwservice_contexts +++ b/legacy/hwservice_contexts @@ -14,9 +14,6 @@ android.hardware.media.c2::IConfigurable u:object_r:hal_c # GRIL HAL vendor.google.radioext::IRadioExt u:object_r:hal_radioext_hwservice:s0 -#Audio -vendor.google.whitechapel.audio.audioext::IAudioExt u:object_r:hal_audio_ext_hwservice:s0 - # Wireless charger hal vendor.google.wireless_charger::IWirelessCharger u:object_r:hal_wlc_hwservice:s0 From 7d4d5a8940c0497fd72492c4e451f368da05ca3b Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Wed, 25 Aug 2021 15:38:27 +0800 Subject: [PATCH 4/4] modularize hal_audiometricext_default Bug: 197585437 Test: boot with hal_audiometricext_default initialized Change-Id: I3d9aa576af2faefd2b03b911141d5ffdafc7902e --- aoc/file.te | 1 + aoc/genfs_contexts | 11 +++++++++++ aoc/hal_audio_default.te | 1 + {legacy => aoc}/hal_audiometricext_default.te | 0 aoc/hwservice.te | 4 ++++ aoc/hwservice_contexts | 2 ++ legacy/file.te | 3 --- legacy/genfs_contexts | 9 --------- legacy/hal_audio_default.te | 1 - legacy/hwservice.te | 3 --- legacy/hwservice_contexts | 3 --- 11 files changed, 19 insertions(+), 19 deletions(-) rename {legacy => aoc}/hal_audiometricext_default.te (100%) delete mode 100644 legacy/hal_audio_default.te diff --git a/aoc/file.te b/aoc/file.te index 4d392938..fec17dcb 100644 --- a/aoc/file.te +++ b/aoc/file.te @@ -3,6 +3,7 @@ type sysfs_aoc_boottime, sysfs_type, fs_type; type sysfs_aoc_firmware, sysfs_type, fs_type; type sysfs_aoc, sysfs_type, fs_type; type sysfs_aoc_reset, sysfs_type, fs_type; +type sysfs_pixelstats, fs_type, sysfs_type; # persist type persist_aoc_file, file_type, vendor_persist_type; diff --git a/aoc/genfs_contexts b/aoc/genfs_contexts index 0ddd61d5..4be738a6 100644 --- a/aoc/genfs_contexts +++ b/aoc/genfs_contexts @@ -3,3 +3,14 @@ genfscon sysfs /devices/platform/19000000.aoc/aoc_clock_and_kernel_boottime u:ob genfscon sysfs /devices/platform/19000000.aoc/firmware u:object_r:sysfs_aoc_firmware:s0 genfscon sysfs /devices/platform/19000000.aoc u:object_r:sysfs_aoc:s0 genfscon sysfs /devices/platform/19000000.aoc/reset u:object_r:sysfs_aoc_reset:s0 + +# pixelstat_vendor +genfscon sysfs /devices/platform/audiometrics/codec_state u:object_r:sysfs_pixelstats:s0 +genfscon sysfs /devices/platform/audiometrics/hs_codec_state u:object_r:sysfs_pixelstats:s0 +genfscon sysfs /devices/platform/audiometrics/speaker_impedance u:object_r:sysfs_pixelstats:s0 +genfscon sysfs /devices/platform/audiometrics/speaker_excursion u:object_r:sysfs_pixelstats:s0 +genfscon sysfs /devices/platform/audiometrics/speaker_heartbeat u:object_r:sysfs_pixelstats:s0 +genfscon sysfs /devices/platform/audiometrics/speaker_temp u:object_r:sysfs_pixelstats:s0 +genfscon sysfs /devices/platform/audiometrics/mic_broken_degrade u:object_r:sysfs_pixelstats:s0 +genfscon sysfs /devices/platform/audiometrics/codec_crashed_counter u:object_r:sysfs_pixelstats:s0 + diff --git a/aoc/hal_audio_default.te b/aoc/hal_audio_default.te index 6334b93f..5ee99469 100644 --- a/aoc/hal_audio_default.te +++ b/aoc/hal_audio_default.te @@ -16,6 +16,7 @@ allow hal_audio_default hal_audio_ext_hwservice:hwservice_manager { find add }; allow hal_audio_default amcs_device:file rw_file_perms; allow hal_audio_default amcs_device:chr_file rw_file_perms; +allow hal_audio_default sysfs_pixelstats:file rw_file_perms; #allow access to DMABUF Heaps for AAudio API allow hal_audio_default dmabuf_heap_device:chr_file r_file_perms; diff --git a/legacy/hal_audiometricext_default.te b/aoc/hal_audiometricext_default.te similarity index 100% rename from legacy/hal_audiometricext_default.te rename to aoc/hal_audiometricext_default.te diff --git a/aoc/hwservice.te b/aoc/hwservice.te index 15aaaf71..b7bf5d92 100644 --- a/aoc/hwservice.te +++ b/aoc/hwservice.te @@ -1,2 +1,6 @@ # Audio type hal_audio_ext_hwservice, hwservice_manager_type; + +# AudioMetric +type hal_audiometricext_hwservice, hwservice_manager_type; + diff --git a/aoc/hwservice_contexts b/aoc/hwservice_contexts index 8eadd213..f06c8461 100644 --- a/aoc/hwservice_contexts +++ b/aoc/hwservice_contexts @@ -1,2 +1,4 @@ # Audio vendor.google.whitechapel.audio.audioext::IAudioExt u:object_r:hal_audio_ext_hwservice:s0 +vendor.google.audiometricext::IAudioMetricExt u:object_r:hal_audiometricext_hwservice:s0 + diff --git a/legacy/file.te b/legacy/file.te index f7f9b42f..4ef42471 100644 --- a/legacy/file.te +++ b/legacy/file.te @@ -159,9 +159,6 @@ type sysfs_lhbm, sysfs_type, fs_type, mlstrustedobject; # UWB vendor type uwb_vendor_data_file, file_type, data_file_type, app_data_file_type; -# PixelStats_vendor -type sysfs_pixelstats, fs_type, sysfs_type; - # WLC FW type vendor_wlc_fwupdata_file, vendor_file_type, file_type; # diff --git a/legacy/genfs_contexts b/legacy/genfs_contexts index 461ada53..1991004c 100644 --- a/legacy/genfs_contexts +++ b/legacy/genfs_contexts @@ -281,12 +281,3 @@ genfscon sysfs /devices/platform/wlan/sscoredump/sscd_wlan/report_count # mediacodec genfscon sysfs /devices/platform/mfc/video4linux/video u:object_r:sysfs_video:s0 -# pixelstat_vendor -genfscon sysfs /devices/platform/audiometrics/codec_state u:object_r:sysfs_pixelstats:s0 -genfscon sysfs /devices/platform/audiometrics/hs_codec_state u:object_r:sysfs_pixelstats:s0 -genfscon sysfs /devices/platform/audiometrics/speaker_impedance u:object_r:sysfs_pixelstats:s0 -genfscon sysfs /devices/platform/audiometrics/speaker_excursion u:object_r:sysfs_pixelstats:s0 -genfscon sysfs /devices/platform/audiometrics/speaker_heartbeat u:object_r:sysfs_pixelstats:s0 -genfscon sysfs /devices/platform/audiometrics/speaker_temp u:object_r:sysfs_pixelstats:s0 -genfscon sysfs /devices/platform/audiometrics/mic_broken_degrade u:object_r:sysfs_pixelstats:s0 -genfscon sysfs /devices/platform/audiometrics/codec_crashed_counter u:object_r:sysfs_pixelstats:s0 diff --git a/legacy/hal_audio_default.te b/legacy/hal_audio_default.te deleted file mode 100644 index 31ed6a9b..00000000 --- a/legacy/hal_audio_default.te +++ /dev/null @@ -1 +0,0 @@ -allow hal_audio_default sysfs_pixelstats:file rw_file_perms; diff --git a/legacy/hwservice.te b/legacy/hwservice.te index 81372fc2..eb8e6211 100644 --- a/legacy/hwservice.te +++ b/legacy/hwservice.te @@ -16,6 +16,3 @@ type hal_bluetooth_coexistence_hwservice, hwservice_manager_type, vendor_hwservi # Fingerprint type hal_fingerprint_ext_hwservice, hwservice_manager_type; -# AudioMetric -type hal_audiometricext_hwservice, hwservice_manager_type; - diff --git a/legacy/hwservice_contexts b/legacy/hwservice_contexts index 113d6623..9962c75d 100644 --- a/legacy/hwservice_contexts +++ b/legacy/hwservice_contexts @@ -25,6 +25,3 @@ hardware.google.bluetooth.ccc::IBluetoothCcc u:object_r # Fingerprint vendor.goodix.hardware.biometrics.fingerprint::IGoodixFingerprintDaemon u:object_r:hal_fingerprint_ext_hwservice:s0 -#Audio -vendor.google.audiometricext::IAudioMetricExt u:object_r:hal_audiometricext_hwservice:s0 -