Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

vdso: Drop Kconfig GENERIC_VDSO_DATA_STORE

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

authored by

Thomas Weißschuh and committed by
Thomas Gleixner
7b338f6d bb5bc7bf

+3 -25
+1 -1
arch/Kconfig
··· 1609 1609 related optimizations for a given architecture. 1610 1610 1611 1611 config ARCH_HAS_VDSO_ARCH_DATA 1612 - depends on GENERIC_VDSO_DATA_STORE 1612 + depends on HAVE_GENERIC_VDSO 1613 1613 bool 1614 1614 1615 1615 config ARCH_HAS_VDSO_TIME_DATA
-1
arch/arm/mm/Kconfig
··· 927 927 select HAVE_GENERIC_VDSO 928 928 select GENERIC_TIME_VSYSCALL 929 929 select GENERIC_GETTIMEOFDAY 930 - select GENERIC_VDSO_DATA_STORE 931 930 help 932 931 Place in the process address space an ELF shared object 933 932 providing fast implementations of gettimeofday and
-1
arch/arm64/Kconfig
··· 162 162 select GENERIC_SMP_IDLE_THREAD 163 163 select GENERIC_TIME_VSYSCALL 164 164 select GENERIC_GETTIMEOFDAY 165 - select GENERIC_VDSO_DATA_STORE 166 165 select GENERIC_VDSO_TIME_NS 167 166 select HARDIRQS_SW_RESEND 168 167 select HAS_IOPORT
-1
arch/loongarch/Kconfig
··· 108 108 select GENERIC_SCHED_CLOCK 109 109 select GENERIC_SMP_IDLE_THREAD 110 110 select GENERIC_TIME_VSYSCALL 111 - select GENERIC_VDSO_DATA_STORE 112 111 select GENERIC_VDSO_TIME_NS 113 112 select GPIOLIB 114 113 select HAS_IOPORT
-1
arch/mips/Kconfig
··· 51 51 select GENERIC_SMP_IDLE_THREAD 52 52 select GENERIC_IDLE_POLL_SETUP 53 53 select GENERIC_TIME_VSYSCALL 54 - select GENERIC_VDSO_DATA_STORE 55 54 select GUP_GET_PXX_LOW_HIGH if CPU_MIPS32 && PHYS_ADDR_T_64BIT 56 55 select HAS_IOPORT if !NO_IOPORT_MAP || ISA 57 56 select HAVE_ARCH_COMPILER_H
-1
arch/powerpc/Kconfig
··· 207 207 select GENERIC_PCI_IOMAP if PCI 208 208 select GENERIC_SMP_IDLE_THREAD 209 209 select GENERIC_TIME_VSYSCALL 210 - select GENERIC_VDSO_DATA_STORE 211 210 select GENERIC_VDSO_TIME_NS 212 211 select HAS_IOPORT if PCI 213 212 select HAVE_ARCH_AUDITSYSCALL
-1
arch/riscv/Kconfig
··· 121 121 select GENERIC_SCHED_CLOCK 122 122 select GENERIC_SMP_IDLE_THREAD 123 123 select GENERIC_TIME_VSYSCALL if GENERIC_GETTIMEOFDAY 124 - select GENERIC_VDSO_DATA_STORE if HAVE_GENERIC_VDSO 125 124 select GENERIC_VDSO_TIME_NS if GENERIC_GETTIMEOFDAY 126 125 select HARDIRQS_SW_RESEND 127 126 select HAS_IOPORT if MMU
-1
arch/s390/Kconfig
··· 167 167 select GENERIC_GETTIMEOFDAY 168 168 select GENERIC_SMP_IDLE_THREAD 169 169 select GENERIC_TIME_VSYSCALL 170 - select GENERIC_VDSO_DATA_STORE 171 170 select GENERIC_VDSO_TIME_NS 172 171 select GENERIC_IOREMAP if PCI 173 172 select HAVE_ALIGNED_STRUCT_PAGE
-1
arch/x86/Kconfig
··· 181 181 select GENERIC_SMP_IDLE_THREAD 182 182 select GENERIC_TIME_VSYSCALL 183 183 select GENERIC_GETTIMEOFDAY 184 - select GENERIC_VDSO_DATA_STORE 185 184 select GENERIC_VDSO_TIME_NS 186 185 select GENERIC_VDSO_OVERFLOW_PROTECT 187 186 select GUP_GET_PXX_LOW_HIGH if X86_PAE
-4
include/asm-generic/vdso/vsyscall.h
··· 4 4 5 5 #ifndef __ASSEMBLY__ 6 6 7 - #ifdef CONFIG_GENERIC_VDSO_DATA_STORE 8 - 9 7 #ifndef __arch_get_vdso_u_time_data 10 8 static __always_inline const struct vdso_time_data *__arch_get_vdso_u_time_data(void) 11 9 { ··· 17 19 return &vdso_u_rng_data; 18 20 } 19 21 #endif 20 - 21 - #endif /* CONFIG_GENERIC_VDSO_DATA_STORE */ 22 22 23 23 #ifndef __arch_update_vdso_clock 24 24 static __always_inline void __arch_update_vdso_clock(struct vdso_clock *vc)
+1 -4
include/vdso/datapage.h
··· 31 31 32 32 #if defined(CONFIG_ARCH_HAS_VDSO_ARCH_DATA) 33 33 #include <asm/vdso/arch_data.h> 34 - #elif defined(CONFIG_GENERIC_VDSO_DATA_STORE) 34 + #else 35 35 struct vdso_arch_data { 36 36 /* Needed for the generic code, never actually used at runtime */ 37 37 char __unused; ··· 164 164 * With the hidden visibility, the compiler simply generates a PC-relative 165 165 * relocation, and this is what we need. 166 166 */ 167 - #ifdef CONFIG_GENERIC_VDSO_DATA_STORE 168 167 extern struct vdso_time_data vdso_u_time_data __attribute__((visibility("hidden"))); 169 168 extern struct vdso_rng_data vdso_u_rng_data __attribute__((visibility("hidden"))); 170 169 extern struct vdso_arch_data vdso_u_arch_data __attribute__((visibility("hidden"))); ··· 183 184 VDSO_ARCH_PAGES_END = VDSO_ARCH_PAGES_START + VDSO_ARCH_DATA_PAGES - 1, 184 185 VDSO_NR_PAGES 185 186 }; 186 - 187 - #endif /* CONFIG_GENERIC_VDSO_DATA_STORE */ 188 187 189 188 /* 190 189 * The generic vDSO implementation requires that gettimeofday.h
-5
lib/vdso/Kconfig
··· 31 31 bool 32 32 help 33 33 Selected by architectures that support vDSO getrandom(). 34 - 35 - config GENERIC_VDSO_DATA_STORE 36 - bool 37 - help 38 - Selected by architectures that use the generic vDSO data store.
+1 -1
lib/vdso/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 3 - obj-$(CONFIG_GENERIC_VDSO_DATA_STORE) += datastore.o 3 + obj-$(CONFIG_HAVE_GENERIC_VDSO) += datastore.o
-2
lib/vdso/gettimeofday.c
··· 108 108 return true; 109 109 } 110 110 111 - #ifdef CONFIG_GENERIC_VDSO_DATA_STORE 112 111 static __always_inline 113 112 const struct vdso_time_data *__arch_get_vdso_u_timens_data(const struct vdso_time_data *vd) 114 113 { 115 114 return (void *)vd + PAGE_SIZE; 116 115 } 117 - #endif /* CONFIG_GENERIC_VDSO_DATA_STORE */ 118 116 119 117 static __always_inline 120 118 bool do_hres_timens(const struct vdso_time_data *vdns, const struct vdso_clock *vcns,