From f0e0e8184ec77fcefeadfbfdee4b1fd5a3e31f40 Mon Sep 17 00:00:00 2001 From: LuK1337 Date: Mon, 17 Jun 2019 11:31:36 +0200 Subject: [PATCH] sdm845-common: Move LiveDisplay HAL default profile path to /data/misc/display * /data/display does not exist and we are unable to allow writing to /data/system since it's a neverallow. Instead we are creating /data/misc/display which coredomain is allowed to write to. Change-Id: I1198c61177b75fd2ad460aafab5f2d5010b2ca63 --- livedisplay/DisplayModes.cpp | 2 +- .../lineage.livedisplay@2.0-service.oneplus_sdm845.rc | 3 +++ sepolicy/private/file.te | 2 +- sepolicy/private/file_contexts | 2 +- sepolicy/private/hal_livedisplay_sdm845.te | 6 +++--- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/livedisplay/DisplayModes.cpp b/livedisplay/DisplayModes.cpp index fc758ed..2d98e34 100644 --- a/livedisplay/DisplayModes.cpp +++ b/livedisplay/DisplayModes.cpp @@ -28,7 +28,7 @@ namespace implementation { static constexpr const char* kModePath = "/sys/devices/platform/soc/ae00000.qcom,mdss_mdp/main_display/display_mode"; -static constexpr const char* kDefaultPath = "/data/system/default_display_mode"; +static constexpr const char* kDefaultPath = "/data/misc/display/default_display_mode"; const std::map DisplayModes::kModeMap = { {0, {"Standard", "default"}}, diff --git a/livedisplay/lineage.livedisplay@2.0-service.oneplus_sdm845.rc b/livedisplay/lineage.livedisplay@2.0-service.oneplus_sdm845.rc index 7b4eeaf..302bb39 100644 --- a/livedisplay/lineage.livedisplay@2.0-service.oneplus_sdm845.rc +++ b/livedisplay/lineage.livedisplay@2.0-service.oneplus_sdm845.rc @@ -1,3 +1,6 @@ +on post-fs-data + mkdir /data/misc/display 0770 system graphics + on boot chmod 0660 /sys/devices/platform/soc/ae00000.qcom,mdss_mdp/main_display/display_mode chmod 0660 /sys/devices/platform/soc/ae00000.qcom,mdss_mdp/main_display/hbm diff --git a/sepolicy/private/file.te b/sepolicy/private/file.te index 78e9c14..ed2d90e 100644 --- a/sepolicy/private/file.te +++ b/sepolicy/private/file.te @@ -17,4 +17,4 @@ type sysfs_oem, sysfs_type, fs_type; type sysfs_usb_supply, sysfs_type, fs_type; # data -type display_data_file, file_type, data_file_type, core_data_file_type; +type display_misc_file, file_type, data_file_type, core_data_file_type; diff --git a/sepolicy/private/file_contexts b/sepolicy/private/file_contexts index a27e7fb..f053fad 100644 --- a/sepolicy/private/file_contexts +++ b/sepolicy/private/file_contexts @@ -1,5 +1,5 @@ # Data files -/data/display(/.*)? u:object_r:display_data_file:s0 +/data/misc/display(/.*)? u:object_r:display_misc_file:s0 # Files in rootfs /bt_firmware(/.*)? u:object_r:bt_firmware_file:s0 diff --git a/sepolicy/private/hal_livedisplay_sdm845.te b/sepolicy/private/hal_livedisplay_sdm845.te index a3a29e5..c0ce476 100644 --- a/sepolicy/private/hal_livedisplay_sdm845.te +++ b/sepolicy/private/hal_livedisplay_sdm845.te @@ -4,9 +4,9 @@ hal_server_domain(hal_livedisplay_sdm845, hal_lineage_livedisplay) type hal_livedisplay_sdm845_exec, exec_type, file_type; init_daemon_domain(hal_livedisplay_sdm845) -# Allow LiveDisplay to store files under /data/display and access them -allow hal_livedisplay_sdm845 display_data_file:dir rw_dir_perms; -allow hal_livedisplay_sdm845 display_data_file:file create_file_perms; +# Allow LiveDisplay to store files under /data/misc/display and access them +allow hal_livedisplay_sdm845 display_misc_file:dir rw_dir_perms; +allow hal_livedisplay_sdm845 display_misc_file:file create_file_perms; # Grant access over LiveDisplay tuneables allow hal_livedisplay_sdm845 sysfs_livedisplay_tuneable:file rw_file_perms;