diff --git a/fs_mgr/fs_mgr_verity.cpp b/fs_mgr/fs_mgr_verity.cpp index 1d832b392..8fa93705e 100644 --- a/fs_mgr/fs_mgr_verity.cpp +++ b/fs_mgr/fs_mgr_verity.cpp @@ -348,10 +348,13 @@ out: static int was_verity_restart() { - static const char *files[] = { + static const char* files[] = { + // clang-format off + "/sys/fs/pstore/console-ramoops-0", "/sys/fs/pstore/console-ramoops", "/proc/last_kmsg", NULL + // clang-format on }; int i; diff --git a/healthd/healthd_mode_charger.cpp b/healthd/healthd_mode_charger.cpp index 49a534c32..c76762d37 100644 --- a/healthd/healthd_mode_charger.cpp +++ b/healthd/healthd_mode_charger.cpp @@ -33,6 +33,7 @@ #include #include +#include #include #include @@ -76,8 +77,6 @@ char *locale; #define POWER_ON_KEY_TIME (2 * MSEC_PER_SEC) #define UNPLUGGED_SHUTDOWN_TIME (10 * MSEC_PER_SEC) -#define LAST_KMSG_PATH "/proc/last_kmsg" -#define LAST_KMSG_PSTORE_PATH "/sys/fs/pstore/console-ramoops" #define LAST_KMSG_MAX_SZ (32 * 1024) #define LOGE(x...) do { KLOG_ERROR("charger", x); } while (0) @@ -217,14 +216,21 @@ static void dump_last_kmsg(void) LOGW("\n"); LOGW("*************** LAST KMSG ***************\n"); LOGW("\n"); - buf = (char *)load_file(LAST_KMSG_PSTORE_PATH, &sz); + const char* kmsg[] = { + // clang-format off + "/sys/fs/pstore/console-ramoops-0", + "/sys/fs/pstore/console-ramoops", + "/proc/last_kmsg", + // clang-format on + }; + for (size_t i = 0; i < arraysize(kmsg); ++i) { + buf = (char*)load_file(kmsg[i], &sz); + if (buf && sz) break; + } if (!buf || !sz) { - buf = (char *)load_file(LAST_KMSG_PATH, &sz); - if (!buf || !sz) { - LOGW("last_kmsg not found. Cold reset?\n"); - goto out; - } + LOGW("last_kmsg not found. Cold reset?\n"); + goto out; } len = min(sz, LAST_KMSG_MAX_SZ); diff --git a/rootdir/init.rc b/rootdir/init.rc index d0589f7ae..bfbc2cc1b 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -221,6 +221,8 @@ on init mount pstore pstore /sys/fs/pstore chown system log /sys/fs/pstore/console-ramoops chmod 0440 /sys/fs/pstore/console-ramoops + chown system log /sys/fs/pstore/console-ramoops-0 + chmod 0440 /sys/fs/pstore/console-ramoops-0 chown system log /sys/fs/pstore/pmsg-ramoops-0 chmod 0440 /sys/fs/pstore/pmsg-ramoops-0