mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3 0/5] riscv: vdso: Implement __vdso_futex_robust_try_unlock()
@ 2026-07-17  8:06 Nam Cao
  2026-07-17  8:06 ` [PATCH v3 1/5] riscv: compat_vdso: switch to standard kbuild rule Nam Cao
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Nam Cao @ 2026-07-17  8:06 UTC (permalink / raw)
  To: Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	linux-riscv, linux-kernel, Thomas Weißschuh,
	André Almeida, Mathieu Desnoyers, Thomas Gleixner,
	Peter Zijlstra, Sebastian Andrzej Siewior
  Cc: Nam Cao

This series adds new vdso futex entries, allowing user to address the
robust futex race condition regarding clearing the
robust_list_head::list_op_pending pointer.

Thomas wrote a summary of the problem:
https://lore.kernel.org/lkml/20260602084648.462672743@kernel.org/

The core infrastructure has been implemented along with x86 support. This
series adds RISC-V support.

The first 4 patches prepare compat vdso Makefile. The final patch is the
main show.

v3:
  - add missing include guard
  - switch to if/else for compare-and-exchange vs load-reserved/store-conditional

v2:
  - address Sashiko's comments

Nam Cao (5):
  riscv: compat_vdso: switch to standard kbuild rule
  riscv: compat_vdso: Allow *.c source files
  riscv: compat_vdso: Introduce COMPAT_MARCH variable
  riscv: compat_vdso: Build with zacas if available
  riscv: vdso: Implement __vdso_futex_robust_try_unlock()

 arch/riscv/Kconfig                         |  1 +
 arch/riscv/include/asm/cpufeature-macros.h |  2 +
 arch/riscv/include/asm/futex_robust.h      | 16 +++++
 arch/riscv/include/asm/vdso/futex.h        | 14 ++++
 arch/riscv/kernel/compat_vdso/Makefile     | 27 ++++---
 arch/riscv/kernel/compat_vdso/futex.c      |  3 +
 arch/riscv/kernel/vdso.c                   | 61 ++++++++++++++++
 arch/riscv/kernel/vdso/Makefile            | 14 +++-
 arch/riscv/kernel/vdso/futex.c             | 84 ++++++++++++++++++++++
 arch/riscv/kernel/vdso/vdso.lds.S          |  8 +++
 10 files changed, 219 insertions(+), 11 deletions(-)
 create mode 100644 arch/riscv/include/asm/futex_robust.h
 create mode 100644 arch/riscv/include/asm/vdso/futex.h
 create mode 100644 arch/riscv/kernel/compat_vdso/futex.c
 create mode 100644 arch/riscv/kernel/vdso/futex.c

-- 
2.47.3


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-07-17 12:44 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-17  8:06 [PATCH v3 0/5] riscv: vdso: Implement __vdso_futex_robust_try_unlock() Nam Cao
2026-07-17  8:06 ` [PATCH v3 1/5] riscv: compat_vdso: switch to standard kbuild rule Nam Cao
2026-07-17 12:17   ` Thomas Weißschuh
2026-07-17  8:06 ` [PATCH v3 2/5] riscv: compat_vdso: Allow *.c source files Nam Cao
2026-07-17 12:19   ` Thomas Weißschuh
2026-07-17  8:06 ` [PATCH v3 3/5] riscv: compat_vdso: Introduce COMPAT_MARCH variable Nam Cao
2026-07-17 12:19   ` Thomas Weißschuh
2026-07-17  8:06 ` [PATCH v3 4/5] riscv: compat_vdso: Build with zacas if available Nam Cao
2026-07-17 12:23   ` Thomas Weißschuh
2026-07-17 12:38   ` Vivian Wang
2026-07-17 12:44     ` Vivian Wang
2026-07-17  8:06 ` [PATCH v3 5/5] riscv: vdso: Implement __vdso_futex_robust_try_unlock() Nam Cao
2026-07-17 12:37   ` Thomas Weißschuh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox