• Arnd Bergmann's avatar
    kvm: x86: use getboottime64 · 87aeb54f
    Arnd Bergmann authored
    KVM reads the current boottime value as a struct timespec in order to
    calculate the guest wallclock time, resulting in an overflow in 2038
    on 32-bit systems.
    
    The data then gets passed as an unsigned 32-bit number to the guest,
    and that in turn overflows in 2106.
    
    We cannot do much about the second overflow, which affects both 32-bit
    and 64-bit hosts, but we can ensure that they both behave the same
    way and don't overflow until 2106, by using getboottime64() to read
    a timespec64 value.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    87aeb54f
x86.c 216 KB