> -----Original Message-----
> From: crash-utility-boun...@redhat.com <crash-utility-boun...@redhat.com> On 
> Behalf Of Dave Wysochanski
> Sent: Monday, August 17, 2020 4:20 AM
> To: crash-utility@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 <dwyso...@redhat.com>
> Reviewed-by: Wang Long <w...@laoqinren.net>
> Tested-by: Mathias Krause <mini...@grsecurity.net>
> Reviewed-by: Lianbo Jiang <liji...@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...@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@redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility


--
Crash-utility mailing list
Crash-utility@redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility

Reply via email to