diff options
-rw-r--r-- | rootdir/etc/init.target.rc | 5 | ||||
-rw-r--r-- | sepolicy/vendor/app.te | 3 | ||||
-rw-r--r-- | sepolicy/vendor/file.te | 3 | ||||
-rw-r--r-- | sepolicy/vendor/file_contexts | 5 | ||||
-rw-r--r-- | sepolicy/vendor/vendor_init.te | 2 |
5 files changed, 17 insertions, 1 deletions
diff --git a/rootdir/etc/init.target.rc b/rootdir/etc/init.target.rc index 22de55e..889449f 100644 --- a/rootdir/etc/init.target.rc +++ b/rootdir/etc/init.target.rc @@ -48,6 +48,11 @@ on fs restorecon_recursive /mnt/vendor/persist write /sys/kernel/boot_adsp/boot 1 + mkdir /mnt/vendor/dsp 0770 root root + copy /vendor/dsp/cdsp/fastrpc_shell_3 /mnt/vendor/dsp/fastrpc_shell_3 + chmod 0644 /mnt/vendor/dsp/fastrpc_shell_3 + mount none /mnt/vendor/dsp/fastrpc_shell_3 /vendor/dsp/cdsp/fastrpc_shell_3 bind + on post-fs start vendor.qseecomd wait_for_prop vendor.sys.listeners.registered true diff --git a/sepolicy/vendor/app.te b/sepolicy/vendor/app.te index 511cc3f..971d3fa 100644 --- a/sepolicy/vendor/app.te +++ b/sepolicy/vendor/app.te @@ -1,2 +1,5 @@ get_prop({ appdomain -isolated_app }, hal_fingerprint_prop) get_prop({ appdomain -isolated_app }, mlipay_prop) + +allow { appdomain -isolated_app } adsprpcd_file:dir r_dir_perms; +allow { appdomain -isolated_app } public_adsprpcd_file:file r_file_perms; diff --git a/sepolicy/vendor/file.te b/sepolicy/vendor/file.te index f2e1ab4..6e4d3e4 100644 --- a/sepolicy/vendor/file.te +++ b/sepolicy/vendor/file.te @@ -1,4 +1,5 @@ type ir_dev_file, file_type; -type sysfs_touchpanel, fs_type, sysfs_type; +type public_adsprpcd_file, file_type; type sysfs_fingerprint, fs_type, sysfs_type; +type sysfs_touchpanel, fs_type, sysfs_type; type thermal_data_file, file_type, data_file_type; diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts index 616afd3..164e75b 100644 --- a/sepolicy/vendor/file_contexts +++ b/sepolicy/vendor/file_contexts @@ -12,6 +12,11 @@ /firmware u:object_r:firmware_file:s0 /bt_firmware u:object_r:bt_firmware_file:s0 +# Hexagon DSP-side executable needed for Halide operation +# This is labeled as public_adsprpcd_file as it needs to be read by apps +# (e.g. Google Camera App) +/mnt/vendor/dsp/fastrpc_shell_3 u:object_r:public_adsprpcd_file:s0 + # IR /dev/lirc0 u:object_r:spidev_device:s0 /dev/spidev7.1 u:object_r:spidev_device:s0 diff --git a/sepolicy/vendor/vendor_init.te b/sepolicy/vendor/vendor_init.te index 466bd1d..9138eaa 100644 --- a/sepolicy/vendor/vendor_init.te +++ b/sepolicy/vendor/vendor_init.te @@ -5,5 +5,7 @@ allow vendor_init { tombstone_data_file }:dir { create search getattr open read setattr ioctl write add_name remove_name rmdir relabelfrom }; +allow init adsprpcd_file:file mounton; + set_prop(vendor_init, freq_prop) set_prop(vendor_init, camera_prop) |