linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/2] riscv/ptrace: add new regset to access original a0 register
@ 2024-12-26 10:52 Celeste Liu
  2024-12-26 10:52 ` [PATCH v4 1/2] " Celeste Liu
  2024-12-26 10:52 ` [PATCH v4 2/2] riscv: selftests: Add a ptrace test to verify syscall parameter modification Celeste Liu
  0 siblings, 2 replies; 8+ messages in thread
From: Celeste Liu @ 2024-12-26 10:52 UTC (permalink / raw)
  To: Oleg Nesterov, Paul Walmsley, Palmer Dabbelt, Eric Biederman,
	Kees Cook, Shuah Khan, Albert Ou
  Cc: Alexandre Ghiti, Dmitry V. Levin, Andrea Bolognani,
	Björn Töpel, Thomas Gleixner, Ron Economos,
	Charlie Jenkins, Andrew Jones, Quan Zhou, Felix Yan, Ruizhe Pan,
	Guo Ren, Yao Zi, linux-riscv, linux-kernel, linux-mm,
	linux-kselftest, Celeste Liu, stable, Björn Töpel

The orig_a0 is missing in struct user_regs_struct of riscv, and there is
no way to add it without breaking UAPI. (See Link tag below)

Like NT_ARM_SYSTEM_CALL do, we add a new regset name NT_RISCV_ORIG_A0 to
access original a0 register from userspace via ptrace API.

Link: https://lore.kernel.org/all/59505464-c84a-403d-972f-d4b2055eeaac@gmail.com/

Signed-off-by: Celeste Liu <uwu@coelacanthus.name>
---
Changes in v4:
- Fix a copy paste error in selftest. (Forget to commit...)
- Link to v3: https://lore.kernel.org/r/20241226-riscv-new-regset-v3-0-f5b96465826b@coelacanthus.name

Changes in v3:
- Use return 0 directly for readability.
- Fix test for modify a0.
- Add Fixes: tag
- Remove useless Cc: stable.
- Selftest will check both a0 and orig_a0, but depends on the
  correctness of PTRACE_GET_SYSCALL_INFO.
- Link to v2: https://lore.kernel.org/r/20241203-riscv-new-regset-v2-0-d37da8c0cba6@coelacanthus.name

Changes in v2:
- Fix integer width.
- Add selftest.
- Link to v1: https://lore.kernel.org/r/20241201-riscv-new-regset-v1-1-c83c58abcc7b@coelacanthus.name

---
Celeste Liu (2):
      riscv/ptrace: add new regset to access original a0 register
      riscv: selftests: Add a ptrace test to verify syscall parameter modification

 arch/riscv/kernel/ptrace.c                   |  32 ++++++
 include/uapi/linux/elf.h                     |   1 +
 tools/testing/selftests/riscv/abi/.gitignore |   1 +
 tools/testing/selftests/riscv/abi/Makefile   |   5 +-
 tools/testing/selftests/riscv/abi/ptrace.c   | 151 +++++++++++++++++++++++++++
 5 files changed, 189 insertions(+), 1 deletion(-)
---
base-commit: 0e287d31b62bb53ad81d5e59778384a40f8b6f56
change-id: 20241201-riscv-new-regset-d529b952ad0d

Best regards,
-- 
Celeste Liu <uwu@coelacanthus.name>



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

end of thread, other threads:[~2025-01-14 20:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-26 10:52 [PATCH v4 0/2] riscv/ptrace: add new regset to access original a0 register Celeste Liu
2024-12-26 10:52 ` [PATCH v4 1/2] " Celeste Liu
2024-12-26 10:52 ` [PATCH v4 2/2] riscv: selftests: Add a ptrace test to verify syscall parameter modification Celeste Liu
2024-12-26 13:35   ` Dmitry V. Levin
2024-12-26 15:21     ` Celeste Liu
2025-01-10  3:34       ` Charlie Jenkins
2025-01-12 10:41         ` Celeste Liu
2025-01-14 20:31         ` Celeste Liu

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