summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2026-07-28 10:09:38 +0200
committerIngo Molnar <mingo@kernel.org>2026-07-28 10:09:39 +0200
commit5bf709e5de4e0f861f5f3b2e8316984f0da8a218 (patch)
treea296a055ecc8e98cfd4bf8fd942acb67ade965fb /arch/arm
parentde0fa73ac2bd1ab81e46c4d3cf7e8686325a335b (diff)
parentecacc9c8d3ed0f63065f4a1e94bfd8bf65a3ffaf (diff)
downloadlinux-next-5bf709e5de4e0f861f5f3b2e8316984f0da8a218.tar.gz
linux-next-5bf709e5de4e0f861f5f3b2e8316984f0da8a218.zip
Merge branch into tip/master: 'timers/vdso'
# New commits in timers/vdso: ecacc9c8d3ed ("vdso: Rename HAVE_GENERIC_VDSO to VDSO_DATASTORE") 52447180f4fb ("vdso: Drop HAVE_GENERIC_VDSO from architecture kconfig files") faeff8d416c4 ("vdso: Automatically select HAVE_GENERIC_VDSO if necessary") 8c0015572c61 ("MIPS: vdso: Stop using CONFIG_HAVE_GENERIC_VDSO") a92426375870 ("vdso: Remove the dependency on HAVE_GENERIC_VDSO from ARCH_HAS_VDSO_ARCH_DATA") 2558084d2b03 ("futex: Remove dependency on HAVE_GENERIC_VDSO from FUTEX_ROBUST_UNLOCK") 369cecd238ac ("vdso/gettimeofday: Verify COMPAT_32BIT_TIME interactions") 2700297b69fe ("sparc: vdso: Respect COMPAT_32BIT_TIME") 377e3f2d4130 ("MIPS: VDSO: Respect COMPAT_32BIT_TIME") e01abc70af38 ("powerpc/vdso: Respect COMPAT_32BIT_TIME") 95216f4647e7 ("ARM: VDSO: Respect COMPAT_32BIT_TIME") abb1537388ba ("arm64: vdso32: Respect COMPAT_32BIT_TIME") 1a4660da3130 ("x86/vdso: Respect COMPAT_32BIT_TIME") f8b946772554 ("vdso/gettimeofday: Validate system call existence for time() and gettimeofday()") dce21fb3d570 ("time: Respect COMPAT_32BIT_TIME for old time type functions") 0b50763e8439 ("vdso/datastore: Simplify the mapping logic for VDSO_TIME_PAGE_OFFSET") c27e727c9a60 ("vdso/datastore: Allow prefaulting by mlockall()") 9ab500d47f5f ("vdso/datastore: Explicitly prevent remote access to timens vvar page") 43648f9f3a67 ("vdso/datastore: Map zeroed pages for unavailable data") 7557273419dd ("vdso/datastore: Map pages in terms of the faults pgoff") ff868f43eb8f ("vdso/datastore: Rename data pages variable") 02475538bec2 ("vdso: Replace __ASSEMBLY__ with __ASSEMBLER__ in header files") Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mm/Kconfig1
-rw-r--r--arch/arm/vdso/vdso.lds.S2
-rw-r--r--arch/arm/vdso/vgettimeofday.c14
3 files changed, 10 insertions, 7 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 871bd58d2ccc..f7bea397a201 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -924,7 +924,6 @@ config VDSO
bool "Enable VDSO for acceleration of some system calls"
depends on AEABI && MMU && CPU_V7
default y if ARM_ARCH_TIMER
- select HAVE_GENERIC_VDSO
select GENERIC_GETTIMEOFDAY
help
Place in the process address space an ELF shared object
diff --git a/arch/arm/vdso/vdso.lds.S b/arch/arm/vdso/vdso.lds.S
index 74d8d8bc8a40..e61038c0195a 100644
--- a/arch/arm/vdso/vdso.lds.S
+++ b/arch/arm/vdso/vdso.lds.S
@@ -70,9 +70,11 @@ VERSION
{
LINUX_2.6 {
global:
+#ifdef CONFIG_COMPAT_32BIT_TIME
__vdso_clock_gettime;
__vdso_gettimeofday;
__vdso_clock_getres;
+#endif /* CONFIG_COMPAT_32BIT_TIME */
__vdso_clock_gettime64;
__vdso_clock_getres_time64;
local: *;
diff --git a/arch/arm/vdso/vgettimeofday.c b/arch/arm/vdso/vgettimeofday.c
index f7a2f5dc2fdc..3eebeddbfd18 100644
--- a/arch/arm/vdso/vgettimeofday.c
+++ b/arch/arm/vdso/vgettimeofday.c
@@ -10,16 +10,17 @@
#include <asm/unwind.h>
#include <vdso/gettime.h>
+#ifdef CONFIG_COMPAT_32BIT_TIME
int __vdso_clock_gettime(clockid_t clock,
struct old_timespec32 *ts)
{
return __cvdso_clock_gettime32(clock, ts);
}
-int __vdso_clock_gettime64(clockid_t clock,
- struct __kernel_timespec *ts)
+int __vdso_clock_getres(clockid_t clock_id,
+ struct old_timespec32 *res)
{
- return __cvdso_clock_gettime(clock, ts);
+ return __cvdso_clock_getres_time32(clock_id, res);
}
int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
@@ -27,11 +28,12 @@ int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
{
return __cvdso_gettimeofday(tv, tz);
}
+#endif /* CONFIG_COMPAT_32BIT_TIME */
-int __vdso_clock_getres(clockid_t clock_id,
- struct old_timespec32 *res)
+int __vdso_clock_gettime64(clockid_t clock,
+ struct __kernel_timespec *ts)
{
- return __cvdso_clock_getres_time32(clock_id, res);
+ return __cvdso_clock_gettime(clock, ts);
}
int __vdso_clock_getres_time64(clockid_t clock_id, struct __kernel_timespec *res)