From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mathieu Desnoyers Subject: [RFC PATCH for 5.2 00/10] Restartable Sequences selftests updates Date: Wed, 24 Apr 2019 11:24:52 -0400 Message-ID: <20190424152502.14246-1-mathieu.desnoyers@efficios.com> Return-path: Sender: linux-kernel-owner@vger.kernel.org To: Peter Zijlstra , "Paul E . McKenney" , Boqun Feng Cc: linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, Thomas Gleixner , Andy Lutomirski , Dave Watson , Paul Turner , Andrew Morton , Russell King , Ingo Molnar , "H . Peter Anvin" , Andi Kleen , Chris Lameter , Ben Maurer , Steven Rostedt , Josh Triplett , Linus Torvalds , Catalin Marinas , Will Deacon , Michael Kerrisk , Joel Fernandes , Shuah Khan List-Id: linux-api@vger.kernel.org Those rseq selftests updates are hereby submitted for feedback. They change the per-architecture pre-abort signatures to ensure those are valid trap instructions. The way exit points are presented to debuggers is enhanced, ensuring all exit points are present, so debuggers don't have to disassemble rseq critical section to properly skip over them. Also, discussions with the glibc community is reaching a concensus of exposing a __rseq_handled symbol from glibc to coexist with rseq early adopters. Update the rseq selftest code to use this symbol. Feedback is welcome. Thanks, Mathieu Martin Schwidefsky (1): rseq/selftests: s390: use trap4 for RSEQ_SIG Mathieu Desnoyers (9): rseq/selftests: Add __rseq_exit_point_array section for debuggers rseq/selftests: Introduce __rseq_cs_ptr_array, rename __rseq_table to __rseq_cs rseq/selftests: Use __rseq_handled symbol to coexist with glibc rseq/selftests: s390: use jg instruction for jumps outside of the asm rseq/selftests: x86: use ud1 instruction as RSEQ_SIG opcode rseq/selftests: arm: use udf instruction for RSEQ_SIG rseq/selftests: aarch64 code signature: handle big-endian environment rseq/selftests: powerpc code signature: generate valid instructions rseq/selftests: mips: use break instruction for RSEQ_SIG tools/testing/selftests/rseq/rseq-arm.h | 132 ++++++++++++++++++++++++++---- tools/testing/selftests/rseq/rseq-arm64.h | 74 ++++++++++++++++- tools/testing/selftests/rseq/rseq-mips.h | 87 +++++++++++++++++--- tools/testing/selftests/rseq/rseq-ppc.h | 90 ++++++++++++++++++-- tools/testing/selftests/rseq/rseq-s390.h | 78 ++++++++++++++++-- tools/testing/selftests/rseq/rseq-x86.h | 120 +++++++++++++++++++++++++-- tools/testing/selftests/rseq/rseq.c | 55 +++++++++++-- tools/testing/selftests/rseq/rseq.h | 1 + 8 files changed, 583 insertions(+), 54 deletions(-) -- 2.11.0