mirror-linux/arch/x86
Linus Torvalds f21f7b5162 Update to the VDSO subsystem:
- Make the handling of compat functions consistent and more robust
 
      - Rework the underlying data store so that it is dynamically
        allocated, which allows the conversion of the last holdout SPARC64
        to the generic VDSO implementation
 
      - Rework the SPARC64 VDSO to utilize the generic implementation
 
      - Mop up the left overs of the non-generic VDSO support in the core
        code.
 
      - Expand the VDSO selftest and make them more robust
 
      - Allow time namespaces to be enabled independently of the generic
        VDSO support, which was not possible before due to SPARC64 not
        using it.
 
      - Various cleanups and improvements in the related code.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmnb0v8QHHRnbHhAa2Vy
 bmVsLm9yZwAKCRCmGPVMDXSYocfqD/9ywgnvwRH6B612mY4PI3qCbLHs6n9f78aH
 YwyXmmfBZ5vt1ZtptHD+BAxiIMm9GC+/exdj5zhcOWucnBVhorcloE6evxhkJAMn
 RhTQFKkEmcA/UV2Yfct9r+33kgZRyu4IIul4J7hgn2o5T1BqwZbOil0W/O5adr5P
 MDLxjT1OLV80ZZWI9qbWcR/aR7W7sHcdwfVPPqjhombRY7f391Mo3dZeM5C2y55x
 8TXCEqVpN1RJzFinWEgQN7QpP4OmF0rRuXSrDQpkH6pk/+RSqNlT/QGG7MJtmCQR
 E6CeBjNRUn318KiroaGyTKlM9xsL3gNoiCY24ZTwzZxx3g5gSAR3KTCTJhQU0hpu
 Svxj+ksqEAyW7fAOIsbce6W8fUPKC2KM+juXgPKcqZ5hjE2fALD+eEYMlq00jSiu
 sj71007cM9tZKOXPdWs3Fv7AY2Yj7iiRiRz9gv1wqS1z7ybxiaFjxjLYYakej0tr
 rmwBDEGhNow7msZZttr01BRZk9hDUWfIiJtL+0BrgRLNzst2A7WoagtZ2s0Z7Psl
 RjtWgYNBDJ878xK0J+Djqb9TyLraGWZShIIna9uYCAJX9i954xfKJ//NOnUkZhcl
 jslDLHhdttyJ+TmgIsc1ntUGvYvHqH5ywQpyDfWepMKyIYdaJLHOr2K6bwFnGHdw
 uocXvLrkXw==
 =8ixX
 -----END PGP SIGNATURE-----

Merge tag 'timers-vdso-2026-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull vdso updates from Thomas Gleixner:

 - Make the handling of compat functions consistent and more robust

 - Rework the underlying data store so that it is dynamically allocated,
   which allows the conversion of the last holdout SPARC64 to the
   generic VDSO implementation

 - Rework the SPARC64 VDSO to utilize the generic implementation

 - Mop up the left overs of the non-generic VDSO support in the core
   code

 - Expand the VDSO selftest and make them more robust

 - Allow time namespaces to be enabled independently of the generic VDSO
   support, which was not possible before due to SPARC64 not using it

 - Various cleanups and improvements in the related code

* tag 'timers-vdso-2026-04-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
  timens: Use task_lock guard in timens_get*()
  timens: Use mutex guard in proc_timens_set_offset()
  timens: Simplify some calls to put_time_ns()
  timens: Add a __free() wrapper for put_time_ns()
  timens: Remove dependency on the vDSO
  vdso/timens: Move functions to new file
  selftests: vDSO: vdso_test_correctness: Add a test for time()
  selftests: vDSO: vdso_test_correctness: Use facilities from parse_vdso.c
  selftests: vDSO: vdso_test_correctness: Handle different tv_usec types
  selftests: vDSO: vdso_test_correctness: Drop SYS_getcpu fallbacks
  selftests: vDSO: vdso_test_gettimeofday: Remove nolibc checks
  Revert "selftests: vDSO: parse_vdso: Use UAPI headers instead of libc headers"
  random: vDSO: Remove ifdeffery
  random: vDSO: Trim vDSO includes
  vdso/datapage: Trim down unnecessary includes
  vdso/datapage: Remove inclusion of gettimeofday.h
  vdso/helpers: Explicitly include vdso/processor.h
  vdso/gettimeofday: Add explicit includes
  random: vDSO: Add explicit includes
  MIPS: vdso: Explicitly include asm/vdso/vdso.h
  ...
2026-04-14 10:53:44 -07:00
..
boot Kbuild/Kconfig updates for 7.1 2026-04-14 09:18:40 -07:00
coco x86/fred: Fix early boot failures on SEV-ES/SNP guests 2026-03-23 14:18:18 +01:00
configs
crypto lib/crypto: x86/sm3: Migrate optimized code into library 2026-03-23 17:50:59 -07:00
entry Update to the VDSO subsystem: 2026-04-14 10:53:44 -07:00
events perf/x86/intel/uncore: Remove extra double quote mark 2026-04-07 09:05:30 +02:00
hyperv x86/hyperv: Use any general-purpose register when saving %cr2 and %cr8 2026-03-12 04:25:20 +00:00
ia32
include Updates for the timer/timekeeping core: 2026-04-14 10:27:07 -07:00
kernel Updates for the timer/timekeeping core: 2026-04-14 10:27:07 -07:00
kvm KVM: x86/mmu: Only WARN in direct MMUs when overwriting shadow-present SPTE 2026-03-27 22:33:33 +01:00
lib Merge branch 'nocache-cleanup' 2026-04-13 08:39:51 -07:00
math-emu x86/math-emu: Fix div_Xsig() prototype 2025-11-09 21:01:08 +01:00
mm x86/kexec: Disable KCOV instrumentation after load_segments() 2026-03-30 14:15:25 +02:00
net x86/cfi: Fix CFI rewrite for odd alignments 2026-02-23 11:19:11 +01:00
pci Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
platform x86/platform/geode: Fix on-stack property data use-after-return bug 2026-03-31 09:55:26 +02:00
power PM: hibernate: x86: Remove inclusion of crypto/hash.h 2026-03-19 16:13:32 +01:00
purgatory
ras
realmode
tools x86/entry/vdso: Add vdso2c to .gitignore 2026-01-27 23:27:51 +01:00
um arch: um/x86: Select ARCH_SUPPORTS_ATOMIC_RMW for UML_X86 2026-01-09 19:01:41 +08:00
video sysfb: Replace screen_info with sysfb_primary_display 2025-12-16 14:12:44 +01:00
virt Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
xen x86/acpi: Add acpi_get_cpu_uid() for unified ACPI CPU UID retrieval 2026-04-06 16:55:15 +02:00
.gitignore
Kbuild
Kconfig x86/apic: Enable TSC coupled programming mode 2026-02-27 16:40:09 +01:00
Kconfig.assembler
Kconfig.cpu
Kconfig.cpufeatures * VDSO rework and cleanups 2026-02-10 19:34:26 -08:00
Kconfig.debug
Makefile kbuild: Consolidate C dialect options 2026-03-12 12:52:37 +01:00
Makefile.um
Makefile_32.cpu x86/cpu: Drop unused Kconfig symbol X86_P6_NOP 2026-01-06 08:57:23 -08:00