[PATCH] powerpc/vdso64: Fix CLOCK_MONOTONIC inconsistencies across Y2038

Arnd Bergmann arnd at arndb.de
Thu Mar 14 00:24:35 AEDT 2019


On Wed, Mar 13, 2019 at 2:14 PM Michael Ellerman <mpe at ellerman.id.au> wrote:

> That causes CLOCK_MONOTONIC to jump ahead by ~4 billion seconds which
> it is not meant to do. Worse, if the time is then set back before the
> Y2038 boundary CLOCK_MONOTONIC will jump backward.
>
> We can fix it simply by storing the full 64-bit offset in the
> vdso_data, and using that in the VDSO assembly code. We also shuffle
> some of the fields in vdso_data to avoid creating a hole.

I see nothing wrong with your patch, but I would point out that there is
a patch series [1] from Vincenzo Frascino to unify the vdso implementation
across architectures that I hope can make it into linux-5.2, and that will
resolve this issue, as well as allow 32-bit architectures to provide
a working interface with 64-bit time_t.

      Arnd

[1] https://lore.kernel.org/linux-arm-kernel/20190222122430.21180-1-vincenzo.frascino@arm.com/


More information about the Linuxppc-dev mailing list