On Wed, Mar 13, 2019 at 2:14 PM Michael Ellerman <m...@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.frasc...@arm.com/