Revert "Dumpstate: Fix selinux permission error for hal_dumpstate_impl"
Bug: 34831632
This reverts commit eb95c13cf7a9c3ce992d5f0c9347afb3d3edb6dc.
Change-Id: I78ac1477ef974d173c8ac9773ad05947c4c649b5
(cherry picked from commit ec77445a1264addb3f05aeb5d927d18c32716488)
diff --git a/device-common.mk b/device-common.mk
index 7f3d05c..d850352 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -318,8 +318,7 @@
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PROPERTY_OVERRIDES += \
persist.radio.smlog_switch=1 \
- ro.radio.log_prefix="htc_smlog_" \
- ro.radio.log_loc="/data/smlog_dump"
+ ro.radio.log_prefix="htc_smlog_"
endif
# Set snapshot timer to 3 second
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index f77a1be..b3323a7 100755
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -28,7 +28,6 @@
#include "DumpstateUtil.h"
#define MODEM_LOG_PREFIX_PROPERTY "ro.radio.log_prefix"
-#define MODEM_LOG_LOC_PROPERTY "ro.radio.log_loc"
#define MODEM_LOGGING_SWITCH "persist.radio.smlog_switch"
using android::os::dumpstate::CommandOptions;
@@ -47,30 +46,33 @@
static void getModemLogs(int fd)
{
bool modemLogsEnabled = 0;
- std::string modem_log_dir = android::base::GetProperty(MODEM_LOG_LOC_PROPERTY, "");
- if (modem_log_dir.empty()) {
- ALOGD("No modem log place is set\n");
- return;
- }
+
/* Check if smlog_dump tool exist */
- if (!PropertiesHelper::IsUserBuild() && !access("/system/bin/smlog_dump", X_OK)) {
+ if (!PropertiesHelper::IsUserBuild() && !access("/system/bin/smlog_dump", F_OK)) {
modemLogsEnabled = android::base::GetBoolProperty(MODEM_LOGGING_SWITCH, false);
/* Execute SMLOG DUMP if SMLOG is enabled */
if (modemLogsEnabled) {
- CommandOptions options = CommandOptions::WithTimeout(120).Build();
- RunCommandToFd(fd, "SMLOG DUMP", { "smlog_dump", "-d", "-o", modem_log_dir.c_str() }, options);
+ // TODO: uses a temporary path instead
+ std::string bugreportDir = "/bugreports";
+ CommandOptions options = CommandOptions::WithTimeout(120).AsRoot().Build();
+ RunCommandToFd(fd, "SMLOG DUMP", { "smlog_dump", "-d", "-o", bugreportDir.c_str() }, options);
+
// Remove smlog folders older than 10 days.
std::string filePrefix = android::base::GetProperty(MODEM_LOG_PREFIX_PROPERTY, "");
if (!filePrefix.empty()) {
std::string removeCommand = "/system/bin/find " +
- modem_log_dir + "/" + filePrefix + "* -mtime +10 -delete";
+ bugreportDir + "/" + filePrefix + "* -mtime +10 -delete";
RunCommandToFd(fd, "RM OLD SMLOG",
- { "/system/bin/sh", "-c", removeCommand.c_str() });
+ { "/system/bin/sh", "-c", removeCommand.c_str()},
+ CommandOptions::AS_ROOT);
}
}
+ RunCommandToFd(fd, "RM OLD SMLOG",
+ { "/system/bin/sh", "-c", "/system/bin/find /data/smlog_* -delete" },
+ CommandOptions::AS_ROOT);
}
}
@@ -96,17 +98,18 @@
DumpFileToFd(fd, "RPM Stats", "/d/rpm_stats");
DumpFileToFd(fd, "Power Management Stats", "/d/rpm_master_stats");
DumpFileToFd(fd, "SMD Log", "/d/ipc_logging/smd/log");
- RunCommandToFd(fd, "ION HEAPS", {"/system/bin/sh", "-c", "for d in $(ls -d /d/ion/*); do for f in $(ls $d); do echo --- $d/$f; cat $d/$f; done; done"});
+ RunCommandToFd(fd, "ION HEAPS", {"/system/bin/sh", "-c", "for d in $(ls -d /d/ion/*); do for f in $(ls $d); do echo --- $d/$f; cat $d/$f; done; done"}, CommandOptions::AS_ROOT);
DumpFileToFd(fd, "dmabuf info", "/d/dma_buf/bufinfo");
- RunCommandToFd(fd, "Temperatures", {"/system/bin/sh", "-c", "for f in `ls /sys/class/thermal` ; do type=`cat /sys/class/thermal/$f/type` ; temp=`cat /sys/class/thermal/$f/temp` ; echo \"$type: $temp\" ; done"});
+ RunCommandToFd(fd, "Temperatures", {"/system/bin/sh", "-c", "for f in `ls /sys/class/thermal` ; do type=`cat /sys/class/thermal/$f/type` ; temp=`cat /sys/class/thermal/$f/temp` ; echo \"$type: $temp\" ; done"}, CommandOptions::AS_ROOT);
DumpFileToFd(fd, "cpu0-1 time-in-state", "/sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state");
- RunCommandToFd(fd, "cpu0-1 cpuidle", {"/system/bin/sh", "-c", "for d in $(ls -d /sys/devices/system/cpu/cpu0/cpuidle/state*); do echo \"$d: `cat $d/name` `cat $d/desc` `cat $d/time` `cat $d/usage`\"; done"});
+ RunCommandToFd(fd, "cpu0-1 cpuidle", {"/system/bin/sh", "-c", "for d in $(ls -d /sys/devices/system/cpu/cpu0/cpuidle/state*); do echo \"$d: `cat $d/name` `cat $d/desc` `cat $d/time` `cat $d/usage`\"; done"}, CommandOptions::AS_ROOT);
DumpFileToFd(fd, "cpu2-3 time-in-state", "/sys/devices/system/cpu/cpu2/cpufreq/stats/time_in_state");
- RunCommandToFd(fd, "cpu2-3 cpuidle", {"/system/bin/sh", "-c", "for d in $(ls -d /sys/devices/system/cpu/cpu2/cpuidle/state*); do echo \"$d: `cat $d/name` `cat $d/desc` `cat $d/time` `cat $d/usage`\"; done"});
+ RunCommandToFd(fd, "cpu2-3 cpuidle", {"/system/bin/sh", "-c", "for d in $(ls -d /sys/devices/system/cpu/cpu2/cpuidle/state*); do echo \"$d: `cat $d/name` `cat $d/desc` `cat $d/time` `cat $d/usage`\"; done"}, CommandOptions::AS_ROOT);
DumpFileToFd(fd, "MDP xlogs", "/d/mdp/xlog/dump");
+ RunCommandToFd(fd, "RAMDUMP LIST", {"/system/bin/sh", "-c", "cat /data/data/com.android.ramdump/files/RAMDUMP_LIST"}, CommandOptions::AS_ROOT);
/* Check if qsee_logger tool exists */
- if (!access("/system/bin/qsee_logger", X_OK)) {
+ if (!access("/system/bin/qsee_logger", F_OK)) {
RunCommandToFd(fd, "FP LOGS", {"qsee_logger", "-d"});
}
diff --git a/init.common.diag.rc.userdebug b/init.common.diag.rc.userdebug
index 7a8a1e6..ba4f5e0 100644
--- a/init.common.diag.rc.userdebug
+++ b/init.common.diag.rc.userdebug
@@ -5,8 +5,6 @@
mkdir /data/diag_logs 0777 system system
# WLAN logging collection
mkdir /data/cnss_diag 0777 system system
- # SM DUMP logging collection
- mkdir /data/smlog_dump 0777 system system
# Copy OEM adb_keys if /data/misc/adb/adb_keys does not exist
copy /data/misc/adb/adb_keys /data/misc/adb/adb_keys_temp
diff --git a/sepolicy/dumpstate.te b/sepolicy/dumpstate.te
deleted file mode 100644
index 72935eb..0000000
--- a/sepolicy/dumpstate.te
+++ /dev/null
@@ -1,4 +0,0 @@
-userdebug_or_eng(`
-allow dumpstate smlog_dump_file:dir create_dir_perms;
-allow dumpstate smlog_dump_file:file create_file_perms;
-')
diff --git a/sepolicy/file.te b/sepolicy/file.te
index 373d3f1..07856ba 100644
--- a/sepolicy/file.te
+++ b/sepolicy/file.te
@@ -6,7 +6,6 @@
# /data
type diag_logs, file_type, data_file_type, mlstrustedobject;
type cnss_diag_data_file, file_type, data_file_type, mlstrustedobject;
-type smlog_dump_file, file_type, data_file_type;
type location_data_file, file_type, data_file_type;
type perfd_data_file, file_type, data_file_type;
type ramdump_data_file, file_type, data_file_type, mlstrustedobject;
@@ -34,12 +33,6 @@
type debugfs_msm_core, debugfs_type, fs_type;
type debugfs_rmt_storage, debugfs_type, fs_type;
type debugfs_sps, debugfs_type, fs_type;
-type debugfs_rpm, debugfs_type, fs_type;
-type debugfs_ipc, debugfs_type, fs_type;
-type debugfs_bufinfo, debugfs_type, fs_type;
-type debugfs_mdp, debugfs_type, fs_type;
-type debugfs_ion, debugfs_type, fs_type;
-type debugfs_qsee_log, debugfs_type, fs_type;
# /proc
type proc_kernel_sched, fs_type;
diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts
index c2a40c9..a5f400d 100644
--- a/sepolicy/file_contexts
+++ b/sepolicy/file_contexts
@@ -109,8 +109,6 @@
/system/bin/subsystem_ramdump u:object_r:subsystem_ramdump_exec:s0
/system/bin/ssr_setup u:object_r:ssr_setup_exec:s0
/system/bin/ramdump u:object_r:htc_ramdump_exec:s0
-/system/bin/smlog_dump u:object_r:smlog_dump_exec:s0
-/system/bin/qsee_logger u:object_r:qsee_logger_exec:s0
/system/bin/init\.mid\.sh u:object_r:init_mid_exec:s0
/system/bin/init\.power\.sh u:object_r:init_power_exec:s0
@@ -136,8 +134,6 @@
/sys/module/msm_core(/.*)? u:object_r:sysfs_msm_core:s0
/sys/devices/soc/70000\.qcom,msm-core(/.*)? u:object_r:sysfs_msm_core:s0
/sys/module/msm_thermal(/.*)? u:object_r:sysfs_thermal:s0
-/sys/class/thermal(/.*)? u:object_r:sysfs_thermal:s0
-/sys/class/uio(/.*)? u:object_r:sysfs_uio:s0
/sys/module/msm_performance(/.*)? u:object_r:sysfs_perf:s0
/sys/devices/virtual/net(/.*)? u:object_r:sysfs_net:s0
/sys/module/subsystem_restart(/.*)? u:object_r:sysfs_msm_subsys_restart:s0
@@ -170,18 +166,10 @@
/sys/kernel/debug/msm_core(/.*)? u:object_r:debugfs_msm_core:s0
/sys/kernel/debug/rmt_storage(/.*)? u:object_r:debugfs_rmt_storage:s0
/sys/kernel/debug/sps(/.*)? u:object_r:debugfs_sps:s0
-/sys/kernel/debug/rpm_stats u:object_r:debugfs_rpm:s0
-/sys/kernel/debug/rpm_master_stats u:object_r:debugfs_rpm:s0
-/sys/kernel/debug/ipc_logging(/.*)? u:object_r:debugfs_ipc:s0
-/sys/kernel/debug/dma_buf/bufinfo u:object_r:debugfs_bufinfo:s0
-/sys/kernel/debug/mdp/xlog/dump u:object_r:debugfs_mdp:s0
-/sys/kernel/debug/tzdbg/qsee_log u:object_r:debugfs_qsee_log:s0
-/sys/kernel/debug/ion(/.*)? u:object_r:debugfs_ion:s0
# /data
/data/diag_logs(/.*)? u:object_r:diag_logs:s0
/data/cnss_diag(/.*)? u:object_r:cnss_diag_data_file:s0
-/data/smlog_dump(/.*)? u:object_r:smlog_dump_file:s0
/data/nfc(/.*)? u:object_r:nfc_data_file:s0
/data/time(/.*)? u:object_r:time_data_file:s0
/data/ramdump(/.*)? u:object_r:ramdump_data_file:s0
diff --git a/sepolicy/hal_dumpstate_impl.te b/sepolicy/hal_dumpstate_impl.te
index 04a7b74..414b0e3 100644
--- a/sepolicy/hal_dumpstate_impl.te
+++ b/sepolicy/hal_dumpstate_impl.te
@@ -5,40 +5,4 @@
init_daemon_domain(hal_dumpstate_impl)
# supress audit messages for attempting access to /firmware
-dontaudit hal_dumpstate_impl firmware_file:dir search;
-
-# Execute dump scripts
-allow hal_dumpstate_impl shell_exec:file rx_file_perms;
-allow hal_dumpstate_impl toolbox_exec:file rx_file_perms;
-# system file execution
-#allow hal_dumpstate_impl system_data_file:dir r_dir_perms;
-
-# smlog_dump
-allow hal_dumpstate_impl smlog_dump_exec:file rx_file_perms;
-userdebug_or_eng(`
-allow hal_dumpstate_impl smlog_dump_file:dir rw_dir_perms;
-allow hal_dumpstate_impl smlog_dump_file:file create_file_perms;
-')
-allow hal_dumpstate_impl uio_device:chr_file rw_file_perms;
-r_dir_file(hal_dumpstate_impl, sysfs_uio)
-r_dir_file(hal_dumpstate_impl, sysfs_rmtfs)
-r_dir_file(hal_dumpstate_impl, sysfs_msm_subsys)
-
-# Access to files for dumping
-allow hal_dumpstate_impl sysfs:dir r_dir_perms;
-# rpm stat
-allow hal_dumpstate_impl debugfs_rpm:file r_file_perms;
-allow hal_dumpstate_impl debugfs_bufinfo:file r_file_perms;
-# qsee_logger
-allow hal_dumpstate_impl qsee_logger_exec:file rx_file_perms;
-allow hal_dumpstate_impl debugfs_qsee_log:file r_file_perms;
-# MDP logs
-allow hal_dumpstate_impl debugfs_mdp:file r_file_perms;
-# ION HEAPS
-r_dir_file(hal_dumpstate_impl, debugfs_ion)
-# ipc
-r_dir_file(hal_dumpstate_impl, debugfs_ipc)
-# Temperatures
-r_dir_file(hal_dumpstate_impl, sysfs_thermal)
-# CPU stat
-r_dir_file(hal_dumpstate_impl, sysfs_devices_system_cpu)
+dontaudit dumpstate firmware_file:dir search;
\ No newline at end of file
diff --git a/sepolicy/qsee_logger.te b/sepolicy/qsee_logger.te
deleted file mode 100644
index 50f9eba..0000000
--- a/sepolicy/qsee_logger.te
+++ /dev/null
@@ -1 +0,0 @@
-type qsee_logger_exec, exec_type, file_type;
diff --git a/sepolicy/smlog_dump.te b/sepolicy/smlog_dump.te
deleted file mode 100644
index d6be165..0000000
--- a/sepolicy/smlog_dump.te
+++ /dev/null
@@ -1,7 +0,0 @@
-type smlog_dump_exec, exec_type, file_type;
-
-type smlog_dump, domain;
-allow smlog_dump smlog_dump_file:dir r_dir_perms;
-allow smlog_dump smlog_dump_file:file create_file_perms;
-r_dir_file(smlog_dump, sysfs_uio)
-r_dir_file(smlog_dump, sysfs_rmtfs)