On Wed, Feb 26 2025 at 18:18, Sean Christopherson wrote: > When resuming timekeeping after suspend, restore clocksources prior to > reading the persistent clock. Paravirt clocks, e.g. kvmclock, tie the > validity of a PV persistent clock to a clocksource, i.e. reading the PV > persistent clock will return garbage if the underlying PV clocksource > hasn't been enabled. The flaw has gone unnoticed because kvmclock is a > mess and uses its own suspend/resume hooks instead of the clocksource > suspend/resume hooks, which happens to work by sheer dumb luck (the > kvmclock resume hook runs before timekeeping_resume()). > > Note, there is no evidence that any clocksource supported by the kernel > depends on a persistent clock. > > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>