]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
lib/vdso: Update coarse timekeeper unconditionally
authorThomas Gleixner <tglx@linutronix.de>
Tue, 14 Jan 2020 18:52:39 +0000 (19:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Mar 2020 15:45:23 +0000 (16:45 +0100)
commit05f4a6e5a615841f7cf87ae969cbc6ec499bb2b3
tree63306230ec6720aa60a0a43ac62f3547199f2727
parent993cc7831665fc732a6394d4ad84f093b16a2c6e
lib/vdso: Update coarse timekeeper unconditionally

commit 9f24c540f7f8eb3a981528da9a9a636a5bdf5987 upstream.

The low resolution parts of the VDSO, i.e.:

  clock_gettime(CLOCK_*_COARSE), clock_getres(), time()

can be used even if there is no VDSO capable clocksource.

But if an architecture opts out of the VDSO data update then this
information becomes stale. This affects ARM when there is no architected
timer available. The lack of update causes userspace to use stale data
forever.

Make the update of the low resolution parts unconditional and only skip
the update of the high resolution parts if the architecture requests it.

Fixes: 44f57d788e7d ("timekeeping: Provide a generic update_vsyscall() implementation")
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20200114185946.765577901@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/time/vsyscall.c