mirror-linux/arch/mips/kernel
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
..
syscalls rseq: Implement sys_rseq_slice_yield() 2026-01-22 11:11:17 +01:00
.gitignore
Makefile arch: use always-$(KBUILD_BUILTIN) for vmlinux.lds 2025-06-07 14:38:07 +09:00
access-helper.h
asm-offsets.c arch: Add the macro COMPILE_OFFSETS to all the asm-offsets.c 2025-09-25 09:57:15 +02:00
bmips_5xxx_init.S
bmips_vec.S
branch.c
cacheinfo.c
cevt-bcm1480.c MIPS: Fix the wrong format specifier 2025-01-11 12:33:01 +01:00
cevt-ds1287.c MIPS: cevt-ds1287: Add missing ds1287.h include 2025-02-27 10:46:30 +01:00
cevt-gt641xx.c
cevt-r4k.c MIPS: Move IP30 timer to request_percpu_irq() 2025-12-15 22:20:50 +01:00
cevt-sb1250.c
cevt-txx9.c
cmpxchg.c MIPS: export __cmpxchg_small() 2024-10-23 18:10:24 +02:00
cps-vec-ns16550.S
cps-vec.S MIPS: CPS: Introduce struct cluster_boot_config 2025-02-21 10:19:34 +01:00
cpu-probe.c MIPS: Always record SEGBITS in cpu_data.vmbits 2026-04-01 21:53:50 +02:00
cpu-r3k-probe.c MIPS: Always record SEGBITS in cpu_data.vmbits 2026-04-01 21:53:50 +02:00
crash.c
crash_dump.c
csrc-bcm1480.c
csrc-ioasic.c
csrc-r4k.c Revert "MIPS: csrc-r4k: Apply verification clocksource flags" 2024-08-25 15:26:30 -07:00
csrc-sb1250.c
early_printk.c
early_printk_8250.c
elf.c MIPS: Implement ieee754 NAN2008 emulation mode 2024-07-12 13:09:25 +02:00
entry.S
fpu-probe.c MIPS: Implement ieee754 NAN2008 emulation mode 2024-07-12 13:09:25 +02:00
fpu-probe.h
ftrace.c MIPS: ftrace: Fix memory corruption when kernel is located beyond 32 bits 2025-12-01 10:07:25 +01:00
genex.S MIPS: Fix whitespace damage in r4k_wait from VS timer fix 2025-12-01 10:34:34 +01:00
gpio_txx9.c treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
head.S MIPS: Add a blank line after __HEAD 2025-01-11 12:32:12 +01:00
i8253.c
idle.c MIPS: Fix idle VS timer enqueue 2025-04-27 10:12:03 +02:00
irq-gt641xx.c
irq-msc01.c
irq.c
irq_txx9.c
jump_label.c MIPS: jump_label: Fix compat branch range check 2022-11-11 15:46:03 +01:00
kgdb.c
kprobes.c MIPS: Fix typos 2024-01-08 10:39:12 +01:00
linux32.c fs: fix archiecture-specific compat_ftruncate64 2026-03-23 12:41:57 +01:00
machine_kexec.c mips: kexec: include linux/reboot.h 2023-12-10 17:21:42 -08:00
mcount.S mips: replace #include <asm/export.h> with #include <linux/export.h> 2023-08-15 10:22:23 +02:00
mips-cm.c MIPS: CPS: Improve mips_cps_first_online_in_cluster() 2025-07-16 18:34:49 +02:00
mips-cpc.c
mips-mt-fpaff.c mips: add asm/syscalls.h header 2023-12-10 17:21:38 -08:00
mips-mt.c MIPS: kernel: Rename read/write_c0_ecc to read/writec0_errctl 2025-01-11 12:31:21 +01:00
mips-r2-to-r6-emul.c
module.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
octeon_switch.S mips: remove unneeded #include <asm/export.h> 2023-08-15 10:22:23 +02:00
perf_event.c
perf_event_mipsxx.c mips/perf: Remove driver-specific throttle support 2025-05-21 13:57:47 +02:00
perf_regs.c
pm-cps.c MIPS: CPS: Introduce struct cluster_boot_config 2025-02-21 10:19:34 +01:00
pm.c
probes-common.h
proc.c MIPS: kernel: proc: Use str_yes_no() helper function 2024-11-12 15:46:20 +01:00
process.c MIPS: kernel: Fix random segmentation faults 2025-11-21 13:24:05 +01:00
prom.c of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify 2024-10-29 15:32:45 -05:00
ptrace.c MIPS: ptrace: Use USER_REGSET_NOTE_TYPE() to specify regset note names 2025-07-14 22:27:47 -07:00
ptrace32.c
r4k-bugs64.c mips: add missing declarations for trap handlers 2023-12-10 17:21:38 -08:00
r4k_fpu.S mips: replace #include <asm/export.h> with #include <linux/export.h> 2023-08-15 10:22:23 +02:00
r4k_switch.S
r2300_fpu.S mips: replace #include <asm/export.h> with #include <linux/export.h> 2023-08-15 10:22:23 +02:00
r2300_switch.S mips: remove unneeded #include <asm/export.h> 2023-08-15 10:22:23 +02:00
relocate.c MIPS: Work around LLVM bug when gp is used as global register variable 2026-02-09 12:49:29 +01:00
relocate_kernel.S MIPS: Fix typos 2024-01-08 10:39:12 +01:00
reset.c
rtlx-mt.c mips: mt: make mt_class constant 2024-03-07 17:18:50 +01:00
rtlx.c
scall32-o32.S MIPS: Export syscall stack arguments properly for remote use 2025-02-13 12:41:18 +01:00
scall64-n32.S MIPS: scall: Save thread_info.syscall unconditionally on entry 2024-04-09 16:52:21 +02:00
scall64-n64.S MIPS: scall: Save thread_info.syscall unconditionally on entry 2024-04-09 16:52:21 +02:00
scall64-o32.S MIPS: scall: Save thread_info.syscall unconditionally on entry 2024-04-09 16:52:21 +02:00
segment.c mips: kernel: convert to DEFINE_SHOW_ATTRIBUTE 2022-09-19 16:40:17 +02:00
setup.c mm.git review status for linus..mm-nonmm-stable 2026-02-12 12:13:01 -08:00
signal-common.h mips: signal: move sigcontext declarations to header 2023-12-10 17:21:39 -08:00
signal.c Just cleanups and fixes 2024-01-17 11:20:50 -08:00
signal32.c mips: add asm/syscalls.h header 2023-12-10 17:21:38 -08:00
signal_n32.c mips: signal: move sigcontext declarations to header 2023-12-10 17:21:39 -08:00
signal_o32.c mips: add asm/syscalls.h header 2023-12-10 17:21:38 -08:00
smp-bmips.c mips: bmips: enable RAC on BMIPS4350 2024-06-27 10:44:36 +02:00
smp-cps.c Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
smp-mt.c MIPS: Rework smt cmdline parameters 2023-06-09 10:34:14 +02:00
smp-up.c
smp.c MIPS: SMP: Move the AP sync point before the calibration delay 2025-05-25 15:00:23 +02:00
spinlock_test.c
spram.c MIPS: kernel: Rename read/write_c0_ecc to read/writec0_errctl 2025-01-11 12:31:21 +01:00
stacktrace.c
sync-r4k.c MIPS: sync-r4k: Rework based on x86 tsc_sync 2024-07-03 16:50:12 +02:00
syscall.c mips: add asm/syscalls.h header 2023-12-10 17:21:38 -08:00
sysrq.c tty: sysrq: switch sysrq handlers from int to u8 2023-07-25 19:21:03 +02:00
time.c
topology.c
traps.c MIPS: rename rollback_handler with skipover_handler 2025-04-27 10:12:44 +02:00
unaligned.c mips: add missing declarations for trap handlers 2023-12-10 17:21:38 -08:00
uprobes.c mips/uprobes: use kmap_local_page() in arch_uprobe_copy_ixol() 2026-01-06 16:34:27 +01:00
vdso.c MIPS: vdso: Explicitly include asm/vdso/vdso.h 2026-03-11 15:12:50 +01:00
vmlinux.lds.S kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00
vpe-mt.c MIPS: Implement microMIPS MT ASE helpers 2024-02-23 10:13:47 +01:00
vpe.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
watch.c