Arnd Bergmann writes: > The firmware timestamp is an unsigned 32-bit value, but we copy it into > a signed 32-bit variable, so we can theoretically get an overflow in > the calculation when the timestamp is between 2038 and 2106. > > This changes the temporary variable to time64_t and changes the deprecated > time_to_tm() over to time64_to_tm() accordingly. > > There is still an overflow in y2106, but that is a limitation of the > firmware interface, not a kernel problem. Reviewed-by: Eric Anholt I'll pull this in our branches.