[PATCH v3 0/9] vDSO: Respect COMPAT_32BIT_TIME
From: Thomas Weißschuh <hidden>
Date: 2026-07-02 08:21:31
Also in:
linux-api, linux-arm-kernel, linux-mips, lkml, sparclinux
If CONFIG_COMPAT_32BIT_TIME is disabled then the vDSO should not provide any 32-bit time related functionality. This is the intended effect of the kconfig option and also the fallback system calls would also not be implemented. I also tried to introduce some helpers to avoid much of the ifdeffery, but due to the high variance in the architecture-specific glue code these would need to handle, they ended up being worse than the current proposal. As a side-effect this will make the self-tests more reliable, as there is now always a matching syscall available for each vDSO function. clock_getres_time64() was only introduced in v6.19, so libc implementations are likely not using it yet. Signed-off-by: Thomas Weißschuh <redacted> --- Changes in v3: - Pick up tags. - Fix incorrect references gettimeofday() in per-arch commit messages. - Test for CONFIG_COMPAT_32BIT_TIME over __WANT_OLD_TIME_TYPE_SYSCALL in compat_settimeofday() - Link to v2: https://patch.msgid.link/20260630-vdso-compat_32bit_time-v2-0-520d194640dd@linutronix.de Changes in v2: - Also handle SPARC. - Drop MIPS cleanup patches. - Also handle gettimeofday(). - Add more static validations. - Rebase on v7.2-rc1. - Link to v1: https://lore.kernel.org/r/20260227-vdso-compat_32bit_time-v1-0-3f0286a7bac3@linutronix.de (local) To: Andy Lutomirski <luto@kernel.org> To: Thomas Gleixner <tglx@kernel.org> To: Ingo Molnar <mingo@redhat.com> To: Borislav Petkov <bp@alien8.de> To: Dave Hansen <dave.hansen@linux.intel.com> To: x86@kernel.org To: H. Peter Anvin <hpa@zytor.com> To: Russell King <linux@armlinux.org.uk> To: Catalin Marinas <catalin.marinas@arm.com> To: Will Deacon <will@kernel.org> To: Madhavan Srinivasan <maddy@linux.ibm.com> To: Michael Ellerman <mpe@ellerman.id.au> To: Nicholas Piggin <npiggin@gmail.com> To: Christophe Leroy (CS GROUP) <chleroy@kernel.org> To: Thomas Bogendoerfer <tsbogend@alpha.franken.de> To: Vincenzo Frascino <vincenzo.frascino@arm.com> To: John Stultz <jstultz@google.com> To: Stephen Boyd <sboyd@kernel.org> To: "David S. Miller" <davem@davemloft.net> To: Andreas Larsson <andreas@gaisler.com> Cc: linux-kernel@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-mips@vger.kernel.org Cc: Arnd Bergmann <arnd@arndb.de> Cc: linux-api@vger.kernel.org Cc: sparclinux@vger.kernel.org Cc: Philippe Mathieu-Daudé <redacted> --- Thomas Weißschuh (9): time: Respect COMPAT_32BIT_TIME for old time type functions vdso/gettimeofday: Validate system call existence for time() and gettimeofday() x86/vdso: Respect COMPAT_32BIT_TIME arm64: vdso32: Respect COMPAT_32BIT_TIME ARM: VDSO: Respect COMPAT_32BIT_TIME powerpc/vdso: Respect COMPAT_32BIT_TIME MIPS: VDSO: Respect COMPAT_32BIT_TIME sparc: vdso: Respect COMPAT_32BIT_TIME vdso/gettimeofday: Verify COMPAT_32BIT_TIME interactions arch/arm/vdso/vdso.lds.S | 2 ++ arch/arm/vdso/vgettimeofday.c | 14 ++++++++------ arch/arm64/kernel/vdso32/vdso.lds.S | 2 ++ arch/arm64/kernel/vdso32/vgettimeofday.c | 14 ++++++++------ arch/mips/vdso/vdso.lds.S | 2 ++ arch/mips/vdso/vgettimeofday.c | 3 +++ arch/powerpc/kernel/vdso/gettimeofday.S | 8 ++++++++ arch/powerpc/kernel/vdso/vdso32.lds.S | 8 +++++--- arch/powerpc/kernel/vdso/vgettimeofday.c | 16 ++++++++++------ arch/sparc/vdso/vclock_gettime.c | 4 ++++ arch/sparc/vdso/vdso32/vdso32.lds.S | 6 ++++-- arch/x86/entry/vdso/common/vclock_gettime.c | 20 ++++++++++++-------- arch/x86/entry/vdso/vdso32/vdso32.lds.S | 2 ++ kernel/sys_ni.c | 4 ++++ kernel/time/time.c | 24 ++++++++++++++++++++---- lib/vdso/gettimeofday.c | 20 ++++++++++++++++++++ 16 files changed, 114 insertions(+), 35 deletions(-) --- base-commit: e6da2429169af9b33f3629b69905d89bb5ee9e64 change-id: 20260113-vdso-compat_32bit_time-e808763e976a Best regards, -- Thomas Weißschuh (Schneider Electric) [off-list ref]