Hi Lianbo,
 -----Original Message-----
 在 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?
hmm, why do you think so?  I think FATAL is fine because we cannot proceed
anymore and there is no memory to be released.
Thanks,
Kazu
 
 Thanks.
 Lianbo
 
 >  		ulonglong uptime_jiffies;
 >  		ulong  uptime_sec;
 >  		get_uptime(NULL, &uptime_jiffies);
 > -- 2.27.0
 
 --
 Crash-utility mailing list
 Crash-utility(a)redhat.com
 
https://www.redhat.com/mailman/listinfo/crash-utility