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.

riscv: vdso: Untangle Kconfig logic

On riscv32 the generic vDSO infrastructure is used but without its
time-related functionality. The Kconfig logic to implement this
treats HAVE_GENERIC_VDSO as a synonym for GENERIC_GETTIMEOFDAY.
This works today due to some underlying issues in how the generic vDSO
library works. Some future cleanups will break this logic.

Restructure the Kconfig logic, so HAVE_GENERIC_VDSO refers to the generic
library in general and GENERIC_GETTIMEOFDAY refers to its time-related
functionality.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250826-vdso-cleanups-v1-6-d9b65750e49f@linutronix.de

authored by

Thomas Weißschuh and committed by
Thomas Gleixner
eb3b66aa ea1a1fa9

+7 -7
+7 -7
arch/riscv/Kconfig
··· 52 52 select ARCH_HAS_SYSCALL_WRAPPER 53 53 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST 54 54 select ARCH_HAS_UBSAN 55 - select ARCH_HAS_VDSO_ARCH_DATA if GENERIC_VDSO_DATA_STORE 55 + select ARCH_HAS_VDSO_ARCH_DATA if HAVE_GENERIC_VDSO 56 56 select ARCH_KEEP_MEMBLOCK if ACPI 57 57 select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE if 64BIT && MMU 58 58 select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX ··· 107 107 select GENERIC_CPU_VULNERABILITIES 108 108 select GENERIC_EARLY_IOREMAP 109 109 select GENERIC_ENTRY 110 - select GENERIC_GETTIMEOFDAY if HAVE_GENERIC_VDSO 110 + select GENERIC_GETTIMEOFDAY if HAVE_GENERIC_VDSO && 64BIT 111 111 select GENERIC_IDLE_POLL_SETUP 112 112 select GENERIC_IOREMAP if MMU 113 113 select GENERIC_IRQ_IPI if SMP ··· 120 120 select GENERIC_PCI_IOMAP 121 121 select GENERIC_SCHED_CLOCK 122 122 select GENERIC_SMP_IDLE_THREAD 123 - select GENERIC_TIME_VSYSCALL if MMU && 64BIT 124 - select GENERIC_VDSO_DATA_STORE if MMU 125 - select GENERIC_VDSO_TIME_NS if HAVE_GENERIC_VDSO 123 + select GENERIC_TIME_VSYSCALL if GENERIC_GETTIMEOFDAY 124 + select GENERIC_VDSO_DATA_STORE if HAVE_GENERIC_VDSO 125 + select GENERIC_VDSO_TIME_NS if GENERIC_GETTIMEOFDAY 126 126 select HARDIRQS_SW_RESEND 127 127 select HAS_IOPORT if MMU 128 128 select HAVE_ALIGNED_STRUCT_PAGE ··· 165 165 select HAVE_FUNCTION_ARG_ACCESS_API 166 166 select HAVE_FUNCTION_ERROR_INJECTION 167 167 select HAVE_GCC_PLUGINS 168 - select HAVE_GENERIC_VDSO if MMU && 64BIT 168 + select HAVE_GENERIC_VDSO if MMU 169 169 select HAVE_IRQ_TIME_ACCOUNTING 170 170 select HAVE_KERNEL_BZIP2 if !XIP_KERNEL && !EFI_ZBOOT 171 171 select HAVE_KERNEL_GZIP if !XIP_KERNEL && !EFI_ZBOOT ··· 221 221 select THREAD_INFO_IN_TASK 222 222 select TRACE_IRQFLAGS_SUPPORT 223 223 select UACCESS_MEMCPY if !MMU 224 - select VDSO_GETRANDOM if HAVE_GENERIC_VDSO 224 + select VDSO_GETRANDOM if HAVE_GENERIC_VDSO && 64BIT 225 225 select USER_STACKTRACE_SUPPORT 226 226 select ZONE_DMA32 if 64BIT 227 227