This series use generic TIF bits for common thread flags and add
Syscall User Dispatch (SUD) testcase support for AArch64. So we can
enables RSEQ optimizations for arm64.

These patches follow the foundational series (v13 resend 1-10, "arm64:
entry: Convert to Generic Entry") and are intended for the next cycle or
an immutable branch based on v7.0-rc1.

Changes in v14:
- Split into two patch sets as Linus Walleij suggested, this is the second
  patch set.
- Remove TIF_FREEZE for arm64.
- Add Signed-off-by and test results for sud_benchmark.
- Collect Reviewed-by and Acked-by.
- Link to v13 resend: 
https://lore.kernel.org/all/[email protected]/

Changes in v13 resend:
- Fix exit_to_user_mode_prepare_legacy() issues.
- Also move TIF_SINGLESTEP to generic TIF infrastructure for loongarch.
- Use generic TIF bits for arm64 and moving TIF_SINGLESTEP to
  generic TIF for related architectures separately.
- Refactor syscall_trace_enter/exit() to accept flags and Use
  syscall_get_nr() helper separately.
- Tested with slice_test for rseq optimizations.
- Add acked-by.
- Link to v13: 
https://lore.kernel.org/all/[email protected]/

Changes in v13:
- Rebased on v7.0-rc3, so drop the firt applied arm64 patch.
- Use generic TIF bits to enables RSEQ optimization.
- Update most of the commit message to make it more clear.
- Link to v12: 
https://lore.kernel.org/all/[email protected]/

Changes in v12:
- Rebased on "sched/core", so remove the four generic entry patches.
- Move "Expand secure_computing() in place" and
  "Use syscall_get_arguments() helper" patch forward, which will group all
  non-functional cleanups at the front.
- Adjust the explanation for moving rseq_syscall() before
  audit_syscall_exit().
- Link to v11: 
https://lore.kernel.org/all/[email protected]/

Changes in v11:
- Remove unused syscall in syscall_trace_enter().
- Update and provide a detailed explanation of the differences after
  moving rseq_syscall() before audit_syscall_exit().
- Rebased on arm64 (for-next/entry), and remove the first applied 3 patchs.
- syscall_exit_to_user_mode_work() for arch reuse instead of adding
  new syscall_exit_to_user_mode_work_prepare() helper.
- Link to v10: 
https://lore.kernel.org/all/[email protected]/

Changes in v10:
- Rebased on v6.19-rc1, rename syscall_exit_to_user_mode_prepare() to
  syscall_exit_to_user_mode_work_prepare() to avoid conflict.
- Also inline syscall_trace_enter().
- Support aarch64 for sud_benchmark.
- Update and correct the commit message.
- Add Reviewed-by.
- Link to v9: 
https://lore.kernel.org/all/[email protected]/

Changes in v9:
- Move "Return early for ptrace_report_syscall_entry() error" patch ahead
  to make it not introduce a regression.
- Not check _TIF_SECCOMP/SYSCALL_EMU for syscall_exit_work() in
  a separate patch.
- Do not report_syscall_exit() for PTRACE_SYSEMU_SINGLESTEP in a separate
  patch.
- Add two performance patch to improve the arm64 performance.
- Add Reviewed-by.
- Link to v8: 
https://lore.kernel.org/all/[email protected]/

Changes in v8:
- Rename "report_syscall_enter()" to "report_syscall_entry()".
- Add ptrace_save_reg() to avoid duplication.
- Remove unused _TIF_WORK_MASK in a standalone patch.
- Align syscall_trace_enter() return value with the generic version.
- Use "scno" instead of regs->syscallno in el0_svc_common().
- Move rseq_syscall() ahead in a standalone patch to clarify it clearly.
- Rename "syscall_trace_exit()" to "syscall_exit_work()".
- Keep the goto in el0_svc_common().
- No argument was passed to __secure_computing() and check -1 not -1L.
- Remove "Add has_syscall_work() helper" patch.
- Move "Add syscall_exit_to_user_mode_prepare() helper" patch later.
- Add miss header for asm/entry-common.h.
- Update the implementation of arch_syscall_is_vdso_sigreturn().
- Add "ARCH_SYSCALL_WORK_EXIT" to be defined as "SECCOMP | SYSCALL_EMU"
  to keep the behaviour unchanged.
- Add more testcases test.
- Add Reviewed-by.
- Update the commit message.
- Link to v7: 
https://lore.kernel.org/all/[email protected]/

Jinjie Ruan (3):
  s390: Rename TIF_SINGLE_STEP to TIF_SINGLESTEP
  asm-generic: Move TIF_SINGLESTEP to generic TIF bits
  arm64: Use generic TIF bits for common thread flags

kemal (1):
  selftests: sud_test: Support aarch64

 arch/arm64/Kconfig                            |  1 +
 arch/arm64/include/asm/thread_info.h          | 61 ++++++++-----------
 arch/loongarch/include/asm/thread_info.h      | 11 ++--
 arch/s390/include/asm/thread_info.h           |  7 +--
 arch/s390/kernel/process.c                    |  2 +-
 arch/s390/kernel/ptrace.c                     | 20 +++---
 arch/s390/kernel/signal.c                     |  6 +-
 arch/x86/include/asm/thread_info.h            |  6 +-
 include/asm-generic/thread_info_tif.h         |  5 ++
 .../syscall_user_dispatch/sud_benchmark.c     |  2 +-
 .../syscall_user_dispatch/sud_test.c          |  4 ++
 11 files changed, 61 insertions(+), 64 deletions(-)

-- 
2.34.1


Reply via email to