Re: [PATCH for 5.2 00/12] Restartable Sequences selftests updates

Mathieu Desnoyers
2019-05-03T18:36:07Z

----- On Apr 29, 2019, at 11:27 AM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote:

> Those rseq selftests updates are hereby submitted to Shuah Khan,
> maintainer of kernel selftests, for the next merge window (5.2).
>
> 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.
>
> 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 expose and use this symbol.
>
> Support for compiling asm goto with clang is added with the
> "-no-integrated-as" compiler switch, similarly to the toplevel kernel
> Makefile.

Hi Shuah,

Is there anything else you need before you can pick up those patches ?

Thanks,

Mathieu

>
> Thanks,
>
> Mathieu
>
> Martin Schwidefsky (1):
> rseq/selftests: s390: use trap4 for RSEQ_SIG
>
> Mathieu Desnoyers (11):
> rseq/selftests: x86: Work-around bogus gcc-8 optimisation
> 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
> rseq/selftests: add -no-integrated-as for clang
>
> tools/testing/selftests/rseq/Makefile | 8 +-
> tools/testing/selftests/rseq/rseq-arm.h | 132 +++++++++++++--
> tools/testing/selftests/rseq/rseq-arm64.h | 74 ++++++++-
> tools/testing/selftests/rseq/rseq-mips.h | 115 +++++++++++--
> tools/testing/selftests/rseq/rseq-ppc.h | 90 +++++++++-
> tools/testing/selftests/rseq/rseq-s390.h | 78 ++++++++-
> tools/testing/selftests/rseq/rseq-x86.h | 264 +++++++++++++++++++++---------
> tools/testing/selftests/rseq/rseq.c | 55 ++++++-
> tools/testing/selftests/rseq/rseq.h | 1 +
> 9 files changed, 688 insertions(+), 129 deletions(-)
>
> --
> 2.11.0

--
Mathieu Desnoyers
EfficiOS Inc.