From: Yu Watanabe Date: Tue, 18 Jun 2024 08:55:31 +0000 (+0900) Subject: logs-show: do not use _SOURCE_MONOTONIC_TIMESTAMP field X-Git-Tag: v256.1^0 X-Git-Url: http://git-history.diyao.me/?a=commitdiff_plain;h=34ba18b0124407403690738b46fbd6236fe65c92;p=systemd%2F.git logs-show: do not use _SOURCE_MONOTONIC_TIMESTAMP field The timestamp is not in CLOCK_MONOTONIC, but CLOCK_BOOTTIME, while header monotonic timestamp is in CLOCK_MONOTONIC. Hence, we cannot adjust timestamp by comparing with header monotonic timestamp and _SOURCE_MONOTONIC_TIMESTAMP field. Fixes a regression caused by affde1d7e79a634ee6053dbd4a57b3b51b74c170. Fixes #33293. (cherry picked from commit 144498e7e6efe2d90981cb14e3ed462a70a955c6) --- diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c index c71c868889..153a4110ce 100644 --- a/src/shared/logs-show.c +++ b/src/shared/logs-show.c @@ -450,6 +450,9 @@ static void parse_display_realtime( assert(j); assert(ret); + // FIXME: _SOURCE_MONOTONIC_TIMESTAMP is in CLOCK_BOOTTIME, hence we cannot use it for adjusting realtime. + source_monotonic = NULL; + /* First, try _SOURCE_REALTIME_TIMESTAMP. */ if (source_realtime && safe_atou64(source_realtime, &t) >= 0 && VALID_REALTIME(t)) { *ret = t; @@ -488,6 +491,9 @@ static void parse_display_timestamp( assert(ret_display_ts); assert(ret_boot_id); + // FIXME: _SOURCE_MONOTONIC_TIMESTAMP is in CLOCK_BOOTTIME, hence we cannot use it for adjusting realtime. + source_monotonic = NULL; + if (source_realtime && safe_atou64(source_realtime, &t) >= 0 && VALID_REALTIME(t)) source_ts.realtime = t;