From 9404fbc128c1bc60f0f6c604932e250ed06b7d20 Mon Sep 17 00:00:00 2001 From: Ted Lin Date: Tue, 15 Jun 2021 20:08:19 +0800 Subject: [PATCH] Donot dump debugfs information in user build. ------ TCPM logs (/vendor/bin/sh -c cat /sys/kernel/debug/usb/tcpm*) ------ *** command '/vendor/bin/sh -c cat /sys/kernel/debug/usb/tcpm*' failed: exit code 1 ------ gvotables (/vendor/bin/sh -c cat /sys/kernel/debug/gvotables/*/status) ------ *** command '/vendor/bin/sh -c cat /sys/kernel/debug/gvotables/*/status' failed: exit code 1 06-16 10:01:14.700 logd 14845 14845 W sh : type=1400 audit(0.0:3294): avc: denied { read } for name="debug" dev="sysfs" ino=16052 scontext=u:r:hal_dumpstate_default:s0 tcontext=u:object_r:sysfs:s0 tclass=dir permissive=0 Bug:187030022 Test: check the bugreport Change-Id: I0c5b946321410dc04026aef0f06be9c2ace457d3 Signed-off-by: Ted Lin --- dumpstate/DumpstateDevice.cpp | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp index b3e07187..4d643ee1 100644 --- a/dumpstate/DumpstateDevice.cpp +++ b/dumpstate/DumpstateDevice.cpp @@ -334,11 +334,12 @@ void DumpstateDevice::dumpPowerSection(int fd) { DumpFileToFd(fd, "maxfg_flip", "/dev/logbuffer_maxfg_flip"); } - - if (!stat("/sys/kernel/debug/tcpm", &buffer)) { - RunCommandToFd(fd, "TCPM logs", {"/vendor/bin/sh", "-c", "cat /sys/kernel/debug/tcpm/*"}); - } else { - RunCommandToFd(fd, "TCPM logs", {"/vendor/bin/sh", "-c", "cat /sys/kernel/debug/usb/tcpm*"}); + if (!PropertiesHelper::IsUserBuild()) { + if (!stat("/sys/kernel/debug/tcpm", &buffer)) { + RunCommandToFd(fd, "TCPM logs", {"/vendor/bin/sh", "-c", "cat /sys/kernel/debug/tcpm/*"}); + } else { + RunCommandToFd(fd, "TCPM logs", {"/vendor/bin/sh", "-c", "cat /sys/kernel/debug/usb/tcpm*"}); + } } DumpFileToFd(fd, "PD Engine", "/dev/logbuffer_usbpd"); @@ -364,33 +365,35 @@ void DumpstateDevice::dumpPowerSection(int fd) { RunCommandToFd(fd, "TEMP-DEFEND Config", {"/vendor/bin/sh", "-c", " cd /sys/devices/platform/google,charger/;" " for f in `ls bd_*` ; do echo \"$f: `cat $f`\" ; done"}); + if (!PropertiesHelper::IsUserBuild()) { - RunCommandToFd(fd, "DC_registers dump", {"/vendor/bin/sh", "-c", + RunCommandToFd(fd, "DC_registers dump", {"/vendor/bin/sh", "-c", "for f in /d/regmap/*-0057-pca9468-mains ; do " "regs=`cat $f/registers`; echo $f: ;" "echo \"$regs\"; done"}); - RunCommandToFd(fd, "fg_model", {"/vendor/bin/sh", "-c", + RunCommandToFd(fd, "fg_model", {"/vendor/bin/sh", "-c", "for f in /d/maxfg* ; do " "regs=`cat $f/fg_model`; echo $f: ;" "echo \"$regs\"; done"}); - RunCommandToFd(fd, "fg_alo_ver", {"/vendor/bin/sh", "-c", + RunCommandToFd(fd, "fg_alo_ver", {"/vendor/bin/sh", "-c", "for f in /d/maxfg* ; do " "regs=`cat $f/algo_ver`; echo $f: ;" "echo \"$regs\"; done"}); - RunCommandToFd(fd, "fg_model_ok", {"/vendor/bin/sh", "-c", + RunCommandToFd(fd, "fg_model_ok", {"/vendor/bin/sh", "-c", "for f in /d/maxfg* ; do " "regs=`cat $f/model_ok`; echo $f: ;" "echo \"$regs\"; done"}); - /* FG Registers */ - RunCommandToFd(fd, "fg registers", {"/vendor/bin/sh", "-c", + /* FG Registers */ + RunCommandToFd(fd, "fg registers", {"/vendor/bin/sh", "-c", "for f in /d/regmap/*-0036 ; do " "regs=`cat $f/registers`; echo $f: ;" "echo \"$regs\"; done"}); + } /* EEPROM State */ if (!stat("/sys/devices/platform/10970000.hsi2c/i2c-4/4-0050/eeprom", &buffer)) { @@ -400,10 +403,12 @@ void DumpstateDevice::dumpPowerSection(int fd) { } DumpFileToFd(fd, "Charger Stats", "/sys/class/power_supply/battery/charge_details"); - RunCommandToFd(fd, "Google Charger", {"/vendor/bin/sh", "-c", "cd /sys/kernel/debug/google_charger/; " + if (!PropertiesHelper::IsUserBuild()) { + RunCommandToFd(fd, "Google Charger", {"/vendor/bin/sh", "-c", "cd /sys/kernel/debug/google_charger/; " "for f in `ls pps_*` ; do echo \"$f: `cat $f`\" ; done"}); - RunCommandToFd(fd, "Google Battery", {"/vendor/bin/sh", "-c", "cd /sys/kernel/debug/google_battery/; " + RunCommandToFd(fd, "Google Battery", {"/vendor/bin/sh", "-c", "cd /sys/kernel/debug/google_battery/; " "for f in `ls ssoc_*` ; do echo \"$f: `cat $f`\" ; done"}); + } DumpFileToFd(fd, "WLC logs", "/dev/logbuffer_wireless"); DumpFileToFd(fd, "WLC VER", "/sys/class/power_supply/wireless/device/version"); @@ -411,7 +416,9 @@ void DumpstateDevice::dumpPowerSection(int fd) { DumpFileToFd(fd, "WLC FW Version", "/sys/class/power_supply/wireless/device/fw_rev"); DumpFileToFd(fd, "RTX", "/dev/logbuffer_rtx"); - RunCommandToFd(fd, "gvotables", {"/vendor/bin/sh", "-c", "cat /sys/kernel/debug/gvotables/*/status"}); + if (!PropertiesHelper::IsUserBuild()) { + RunCommandToFd(fd, "gvotables", {"/vendor/bin/sh", "-c", "cat /sys/kernel/debug/gvotables/*/status"}); + } RunCommandToFd(fd, "Mitigation Stats", {"/vendor/bin/sh", "-c", "echo \"Source\\t\\tCount\\tSOC\\tTime\\tVoltage\"; " "for f in `ls /sys/devices/virtual/pmic/mitigation/last_triggered_count/*` ; " "do count=`cat $f`; "