在 2020年08月07日 00:00, crash-utility-request(a)redhat.com 写道:
Message: 5
Date: Thu, 6 Aug 2020 09:30:22 -0400
From: Dave Wysochanski <dwysocha(a)redhat.com>
To: crash-utility(a)redhat.com
Subject: [Crash-utility] [PATCH v3] Fix "log" command when crash is
started with "--minimal" option
Message-ID: <20200806133022.2127538-1-dwysocha(a)redhat.com>
Commit c86250bce29f introduced the useful '-T' option to print the
log timestamp in human-readable form. However, this option does
not work when crash is invoked with '--minimal' mode, and if tried,
crash will spin at 100% and continuously crash at a divide by 0
because machdep->hz == 0.
Fix this by disallowing this option in minimal mode. In addition,
only calculate the logic to calculate kt->boot_date.tv_sec
when this option is enabled.
Hi, Dave Wysochanski
Thank you for the patch.
Fixes: c86250bce29f ("Introduction of the "log -T"
option...")
Signed-off-by: Dave Wysochanski <dwysocha(a)redhat.com>
Reviewed-by: Wang Long <w(a)laoqinren.net>
Tested-by: Mathias Krause <minipli(a)grsecurity.net>
---
kernel.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/kernel.c b/kernel.c
index 5ed6021..95119f3 100644
--- a/kernel.c
+++ b/kernel.c
@@ -4939,7 +4939,10 @@ cmd_log(void)
if (argerrs)
cmd_usage(pc->curcmd, SYNOPSIS);
- if (kt->boot_date.tv_sec == 0) {
+ if (msg_flags & SHOW_LOG_CTIME && pc->flags & MINIMAL_MODE)
+ error(FATAL, "log: option 'T' not available in minimal mode\n");
+
+ if (msg_flags & SHOW_LOG_CTIME && kt->boot_date.tv_sec == 0) {
The above two 'if' statements have the same checking condition, would you mind
putting them together
as a statement block? E.g:
+ if (msg_flags & SHOW_LOG_CTIME) {
+ if (pc->flags & MINIMAL_MODE) {
+ error(WARNING, "the option '-T' not available in
minimal mode\n");
+ return;
+ }
+
+ if (kt->boot_date.tv_sec == 0) {
...
+ }
}
In addition, might it be more reasonable to issue a warning instead of a fatal error?
Thanks.
Lianbo
ulonglong uptime_jiffies;
ulong uptime_sec;
get_uptime(NULL, &uptime_jiffies);
-- 2.27.0