Along with commit commit 74d06efb9c2f ("ARM: 8932/1: Add clock_gettime64 entry point") clock_gettime64 was added for ARM platform to solve the y2k38 problem on 32-bit platforms. glibc from version 2.31 onwards started using this vdso-call on ARM platforms. However it was (probably) forgotten to "nullpatch" this call, when no reliable timer source is available, for example when "arm,cpu-registers-not-fw-configured" is defined in devicetree for "arm,armv7-timer". This results in erratic time jumps whenever "gettimeofday" gets called, since the (non-working) vdso-call will be used instead of a syscall. This patch adds clock_gettime64 to get nullpatched as well. It has been verified to work and solve this issue on Rockchip RK322x, RK3288 and RPi4 (32-bit kernel build) platforms. Signed-off-by: Alex Bee <knaerzche@xxxxxxxxx> --- arch/arm/kernel/vdso.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/kernel/vdso.c b/arch/arm/kernel/vdso.c index 6bfdca4769a7..fddd08a6e063 100644 --- a/arch/arm/kernel/vdso.c +++ b/arch/arm/kernel/vdso.c @@ -184,6 +184,7 @@ static void __init patch_vdso(void *ehdr) if (!cntvct_ok) { vdso_nullpatch_one(&einfo, "__vdso_gettimeofday"); vdso_nullpatch_one(&einfo, "__vdso_clock_gettime"); + vdso_nullpatch_one(&einfo, "__vdso_clock_gettime64"); } } -- 2.17.1