Use /data/vendor/audio for Audio HAL data
This separates the data of audioserver from the data of the
hal_audio.
Bug: 35042759
Change-Id: I1815c5debaa6d6d2076cebf8beb5acd36c6fe891
Test: no SELinux denials for hal_audio
diff --git a/init.hardware.rc b/init.hardware.rc
index 1b12119..ee1181c 100644
--- a/init.hardware.rc
+++ b/init.hardware.rc
@@ -320,11 +320,11 @@
chown system system /data/dpm/nsrm
# Create directory used by audio subsystem
- mkdir /data/misc/audio 0770 audio audio
+ mkdir /data/vendor/audio 0770 audio audio
# Create directory for audio delta files
- mkdir /data/misc/audio/acdbdata 0770 media audio
- mkdir /data/misc/audio/acdbdata/delta 0770 media audio
+ mkdir /data/vendor/audio/acdbdata 0770 media audio
+ mkdir /data/vendor/audio/acdbdata/delta 0770 media audio
# Create directory used by the DASH client
mkdir /data/misc/dash 0770 media audio
diff --git a/sepolicy/vendor/file.te b/sepolicy/vendor/file.te
index cbd3c84..8cb35ce 100644
--- a/sepolicy/vendor/file.te
+++ b/sepolicy/vendor/file.te
@@ -68,6 +68,7 @@
type modem_dump_file, file_type, data_file_type;
type ese_vendor_data_file, file_type, data_file_type;
type sensors_vendor_data_file, file_type, data_file_type;
+type audio_vendor_data_file, file_type, data_file_type;
type vendor_firmware_file, vendor_file_type, file_type;
diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts
index 3f0d951..95d8adb 100644
--- a/sepolicy/vendor/file_contexts
+++ b/sepolicy/vendor/file_contexts
@@ -254,6 +254,7 @@
/data/vendor/ese(/.*)? u:object_r:ese_vendor_data_file:s0
/data/vendor/ipa(/.*)? u:object_r:ipa_vendor_data_file:s0
/data/vendor/sensors(/.*)? u:object_r:sensors_vendor_data_file:s0
+/data/vendor/audio(/.*)? u:object_r:audio_vendor_data_file:s0
# input files
/vendor/usr/idc(/.*)? u:object_r:idc_file:s0
diff --git a/sepolicy/vendor/hal_audio_default.te b/sepolicy/vendor/hal_audio_default.te
index 0b93692..357b4cd 100644
--- a/sepolicy/vendor/hal_audio_default.te
+++ b/sepolicy/vendor/hal_audio_default.te
@@ -1,7 +1,7 @@
r_dir_file(hal_audio_default, sysfs_soc)
-allow hal_audio_default audio_data_file:dir w_dir_perms;
-allow hal_audio_default audio_data_file:file create_file_perms;
+allow hal_audio_default audio_vendor_data_file:dir rw_dir_perms;
+allow hal_audio_default audio_vendor_data_file:file create_file_perms;
allow hal_audio_default perfd:unix_stream_socket connectto;
allow hal_audio_default perfd_socket:sock_file write;