diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2022-04-15 12:19:35 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2022-05-02 15:00:20 +0300 |
commit | eff4849f928f2b90402907e06a6de1619cf16b1a (patch) | |
tree | 89d6e893ef94311faf785a7d86cf44c6e5d8cb1d | |
parent | 62c1256d544747b38e77ca9b5bfe3a26f9592576 (diff) | |
download | linux-eff4849f928f2b90402907e06a6de1619cf16b1a.tar.xz |
timekeeping: Annotate ktime_get_boot_fast_ns() with data_race()
Accessing timekeeper::offset_boot in ktime_get_boot_fast_ns() is an
intended data race as the reader side cannot synchronize with a writer and
there is no space in struct tk_read_base of the NMI safe timekeeper.
Mark it so.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20220415091920.956045162@linutronix.de
-rw-r--r-- | kernel/time/timekeeping.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 2c22023fbf5f..3479804ed5e6 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -528,7 +528,7 @@ u64 notrace ktime_get_boot_fast_ns(void) { struct timekeeper *tk = &tk_core.timekeeper; - return (ktime_get_mono_fast_ns() + ktime_to_ns(tk->offs_boot)); + return (ktime_get_mono_fast_ns() + ktime_to_ns(data_race(tk->offs_boot))); } EXPORT_SYMBOL_GPL(ktime_get_boot_fast_ns); |