-----Original Message-----
 From: crash-utility-bounces(a)redhat.com <crash-utility-bounces(a)redhat.com> On Behalf
Of Dave Wysochanski
 Sent: Monday, August 17, 2020 4:20 AM
 To: crash-utility(a)redhat.com
 Subject: [Crash-utility] [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(a)redhat.com>
 Reviewed-by: Wang Long <w(a)laoqinren.net>
 Tested-by: Mathias Krause <minipli(a)grsecurity.net>
 Reviewed-by: Lianbo Jiang <lijiang(a)redhat.com>
 ---
  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(a)nec.com>
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(a)redhat.com
 
https://www.redhat.com/mailman/listinfo/crash-utility