> -----Original Message----- > From: crash-utility-bounces@xxxxxxxxxx <crash-utility-bounces@xxxxxxxxxx> On Behalf Of Dave Wysochanski > Sent: Monday, August 17, 2020 4:20 AM > To: crash-utility@xxxxxxxxxx > Subject: [PATCH v4] Fix "log" command when crash is started with "--minimal" option > > 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. > > Fixes: c86250bce29f ("Introduction of the "log -T" option...") > Signed-off-by: Dave Wysochanski <dwysocha@xxxxxxxxxx> > Reviewed-by: Wang Long <w@xxxxxxxxxxxxx> > Tested-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> > Reviewed-by: Lianbo Jiang <lijiang@xxxxxxxxxx> > --- > kernel.c | 21 ++++++++++++++------- > 1 file changed, 14 insertions(+), 7 deletions(-) > > diff --git a/kernel.c b/kernel.c > index 5ed6021..9aa1d4d 100644 > --- a/kernel.c > +++ b/kernel.c > @@ -4939,13 +4939,20 @@ cmd_log(void) > if (argerrs) > cmd_usage(pc->curcmd, SYNOPSIS); > > - if (kt->boot_date.tv_sec == 0) { > - ulonglong uptime_jiffies; > - ulong uptime_sec; > - get_uptime(NULL, &uptime_jiffies); > - uptime_sec = (uptime_jiffies)/(ulonglong)machdep->hz; > - kt->boot_date.tv_sec = kt->date.tv_sec - uptime_sec; > - kt->boot_date.tv_nsec = 0; > + if (msg_flags & SHOW_LOG_CTIME) { > + if (pc->flags & MINIMAL_MODE) { > + error(WARNING, "log: option 'T' not available in minimal mode\n"); ^^^^^ This extra "log: " is not needed: crash> log -T log: WARNING: log: option 'T' not available in minimal mode Lianbo, would you remove it when applying? Otherwise, Acked-by: Kazuhito Hagio <k-hagio-ab@xxxxxxx> Thanks, Kazu > + return; > + } > + > + if (kt->boot_date.tv_sec == 0) { > + ulonglong uptime_jiffies; > + ulong uptime_sec; > + get_uptime(NULL, &uptime_jiffies); > + uptime_sec = (uptime_jiffies)/(ulonglong)machdep->hz; > + kt->boot_date.tv_sec = kt->date.tv_sec - uptime_sec; > + kt->boot_date.tv_nsec = 0; > + } > } > > if (msg_flags & SHOW_LOG_AUDIT) { > -- > 2.27.0 > > -- > Crash-utility mailing list > Crash-utility@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/crash-utility -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility