]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
vdso: Drop Kconfig GENERIC_VDSO_DATA_STORE
authorThomas Weißschuh <thomas.weissschuh@linutronix.de>
Tue, 26 Aug 2025 06:17:12 +0000 (08:17 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 4 Sep 2025 09:23:50 +0000 (11:23 +0200)
All users of the generic vDSO library also use the generic vDSO datastore.

Remove the now unnecessary Kconfig symbol.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/all/20250826-vdso-cleanups-v1-9-d9b65750e49f@linutronix.de
14 files changed:
arch/Kconfig
arch/arm/mm/Kconfig
arch/arm64/Kconfig
arch/loongarch/Kconfig
arch/mips/Kconfig
arch/powerpc/Kconfig
arch/riscv/Kconfig
arch/s390/Kconfig
arch/x86/Kconfig
include/asm-generic/vdso/vsyscall.h
include/vdso/datapage.h
lib/vdso/Kconfig
lib/vdso/Makefile
lib/vdso/gettimeofday.c

index d1b4ffd6e085644defd780c1d3aaf6ac53a65055..f6ca7f3031726ee28ebdf9d7874184d7130afce5 100644 (file)
@@ -1609,7 +1609,7 @@ config HAVE_SPARSE_SYSCALL_NR
          related optimizations for a given architecture.
 
 config ARCH_HAS_VDSO_ARCH_DATA
-       depends on GENERIC_VDSO_DATA_STORE
+       depends on HAVE_GENERIC_VDSO
        bool
 
 config ARCH_HAS_VDSO_TIME_DATA
index 2347988cf6417b91d8d3580387b53e610ed49a00..7b27ee9482b3eb34286935eddda136affc5084a7 100644 (file)
@@ -927,7 +927,6 @@ config VDSO
        select HAVE_GENERIC_VDSO
        select GENERIC_TIME_VSYSCALL
        select GENERIC_GETTIMEOFDAY
-       select GENERIC_VDSO_DATA_STORE
        help
          Place in the process address space an ELF shared object
          providing fast implementations of gettimeofday and
index 5c61b19ea9c80559ca3c4d1aa0732c6126494cb0..b0f007b396c81906d3a0a66f8a240d97e0ae2d88 100644 (file)
@@ -162,7 +162,6 @@ config ARM64
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL
        select GENERIC_GETTIMEOFDAY
-       select GENERIC_VDSO_DATA_STORE
        select GENERIC_VDSO_TIME_NS
        select HARDIRQS_SW_RESEND
        select HAS_IOPORT
index f0abc38c40ac9ea3026d8e19a851cd31bb5faa9f..d15b201d55f951d95435a38789cf47ea9f0adac9 100644 (file)
@@ -108,7 +108,6 @@ config LOONGARCH
        select GENERIC_SCHED_CLOCK
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL
-       select GENERIC_VDSO_DATA_STORE
        select GENERIC_VDSO_TIME_NS
        select GPIOLIB
        select HAS_IOPORT
index caf508f6e9ec8e725a73f2027d1fc29c8cf808a5..f7e6bbd755e0ed15e408e90a7974d3b161956446 100644 (file)
@@ -51,7 +51,6 @@ config MIPS
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_IDLE_POLL_SETUP
        select GENERIC_TIME_VSYSCALL
-       select GENERIC_VDSO_DATA_STORE
        select GUP_GET_PXX_LOW_HIGH if CPU_MIPS32 && PHYS_ADDR_T_64BIT
        select HAS_IOPORT if !NO_IOPORT_MAP || ISA
        select HAVE_ARCH_COMPILER_H
index 93402a1d9c9fc63e2795cf53c5acb248e0358591..78c82af955616c57ab38ea1241e3471eb8d0a65d 100644 (file)
@@ -207,7 +207,6 @@ config PPC
        select GENERIC_PCI_IOMAP                if PCI
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL
-       select GENERIC_VDSO_DATA_STORE
        select GENERIC_VDSO_TIME_NS
        select HAS_IOPORT                       if PCI
        select HAVE_ARCH_AUDITSYSCALL
index e4ac0e833ecfdb976134e9009a2cdfdea789f13d..f6cf9180ccf2c9774248fea93a8276de3791ad71 100644 (file)
@@ -121,7 +121,6 @@ config RISCV
        select GENERIC_SCHED_CLOCK
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL if GENERIC_GETTIMEOFDAY
-       select GENERIC_VDSO_DATA_STORE if HAVE_GENERIC_VDSO
        select GENERIC_VDSO_TIME_NS if GENERIC_GETTIMEOFDAY
        select HARDIRQS_SW_RESEND
        select HAS_IOPORT if MMU
index bf680c26a33cf7bef2ed5e25cabc061597c131b1..696d2243d64b04e77b9b4631fc8bc301916b48ae 100644 (file)
@@ -167,7 +167,6 @@ config S390
        select GENERIC_GETTIMEOFDAY
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL
-       select GENERIC_VDSO_DATA_STORE
        select GENERIC_VDSO_TIME_NS
        select GENERIC_IOREMAP if PCI
        select HAVE_ALIGNED_STRUCT_PAGE
index 4f120070a51bd4e225256440649a2dae17025c41..1e74b2a356e42bdc0ede258f44e18ba29dd90174 100644 (file)
@@ -181,7 +181,6 @@ config X86
        select GENERIC_SMP_IDLE_THREAD
        select GENERIC_TIME_VSYSCALL
        select GENERIC_GETTIMEOFDAY
-       select GENERIC_VDSO_DATA_STORE
        select GENERIC_VDSO_TIME_NS
        select GENERIC_VDSO_OVERFLOW_PROTECT
        select GUP_GET_PXX_LOW_HIGH             if X86_PAE
index 7fc0b560007dd8f09a2f24ace76ce68579ad17c1..5c6d9799f4e746cc9f0d46a0744c6dcc30fec587 100644 (file)
@@ -4,8 +4,6 @@
 
 #ifndef __ASSEMBLY__
 
-#ifdef CONFIG_GENERIC_VDSO_DATA_STORE
-
 #ifndef __arch_get_vdso_u_time_data
 static __always_inline const struct vdso_time_data *__arch_get_vdso_u_time_data(void)
 {
@@ -20,8 +18,6 @@ static __always_inline const struct vdso_rng_data *__arch_get_vdso_u_rng_data(vo
 }
 #endif
 
-#endif /* CONFIG_GENERIC_VDSO_DATA_STORE */
-
 #ifndef __arch_update_vdso_clock
 static __always_inline void __arch_update_vdso_clock(struct vdso_clock *vc)
 {
index 0b1982f15de427723c9ff8502ca1eaa195f9a6a1..23c39b96190fdfc2f31bf76a8614d69a3a98017c 100644 (file)
@@ -31,7 +31,7 @@ struct arch_vdso_time_data {};
 
 #if defined(CONFIG_ARCH_HAS_VDSO_ARCH_DATA)
 #include <asm/vdso/arch_data.h>
-#elif defined(CONFIG_GENERIC_VDSO_DATA_STORE)
+#else
 struct vdso_arch_data {
        /* Needed for the generic code, never actually used at runtime */
        char __unused;
@@ -164,7 +164,6 @@ struct vdso_rng_data {
  * With the hidden visibility, the compiler simply generates a PC-relative
  * relocation, and this is what we need.
  */
-#ifdef CONFIG_GENERIC_VDSO_DATA_STORE
 extern struct vdso_time_data vdso_u_time_data __attribute__((visibility("hidden")));
 extern struct vdso_rng_data vdso_u_rng_data __attribute__((visibility("hidden")));
 extern struct vdso_arch_data vdso_u_arch_data __attribute__((visibility("hidden")));
@@ -185,8 +184,6 @@ enum vdso_pages {
        VDSO_NR_PAGES
 };
 
-#endif /* CONFIG_GENERIC_VDSO_DATA_STORE */
-
 /*
  * The generic vDSO implementation requires that gettimeofday.h
  * provides:
index 2594dd7185be762a4a94aa38ecec5db016776f85..48ffb0f6fa413ea7da4e43c7f7a24cb232b38ea1 100644 (file)
@@ -31,8 +31,3 @@ config VDSO_GETRANDOM
        bool
        help
          Selected by architectures that support vDSO getrandom().
-
-config GENERIC_VDSO_DATA_STORE
-       bool
-       help
-         Selected by architectures that use the generic vDSO data store.
index aedd40aaa950c86f1454d095d9d46992b0cc0abd..405f743253d72b8a40c45b7dc8bec347d9e5c8eb 100644 (file)
@@ -1,3 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
-obj-$(CONFIG_GENERIC_VDSO_DATA_STORE) += datastore.o
+obj-$(CONFIG_HAVE_GENERIC_VDSO) += datastore.o
index 1e2a40b8d2c6c2356cfc678a1ea441ec1bad181a..95df0153f05ab41c871755e005762f3442ff3ecd 100644 (file)
@@ -108,13 +108,11 @@ bool vdso_get_timestamp(const struct vdso_time_data *vd, const struct vdso_clock
        return true;
 }
 
-#ifdef CONFIG_GENERIC_VDSO_DATA_STORE
 static __always_inline
 const struct vdso_time_data *__arch_get_vdso_u_timens_data(const struct vdso_time_data *vd)
 {
        return (void *)vd + PAGE_SIZE;
 }
-#endif /* CONFIG_GENERIC_VDSO_DATA_STORE */
 
 static __always_inline
 bool do_hres_timens(const struct vdso_time_data *vdns, const struct vdso_clock *vcns,