Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1082197yba; Wed, 24 Apr 2019 14:46:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqxuMKeVmQBQvDBnKWRibSQ/Q7hOr3qF8eZ2YUrJek0PR4IzBjETtCrnIEmlKr/L5gSOMV67 X-Received: by 2002:a62:604:: with SMTP id 4mr35870992pfg.38.1556142399569; Wed, 24 Apr 2019 14:46:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556142399; cv=none; d=google.com; s=arc-20160816; b=KjaqZSEC2YhrMYV2EAKoDgWyauUdSOt3EG7IjDTXonCm94GxmANpfrEoa6JNjkFJSF C10BpcWMYNiH2DbsGc38lHM+61siCSqZMnB7BIoD2RgY9vQu6bd4c4Dse599FKuIXhBA 52eYpU/wRics2ZW6sIWT5xT+d2qbcAFaF5iVWwsQoXYSSnMf+aFAer3HUg+P7Pgl2zvL Eaoe5VlGzw3zbNg009Nj+/ku+PKCna3P5L7/7wIA8mzqaUwkXzYoT0nzKqUk9WAucT+2 c9lEQM4KFFbwdM0OQZZedBNr4rQ4dT9voHOES6n9BFvKDZepUKAa2QKuqzhMyG9wCsFB 6aow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=jI7SyLyER8knY1Qqz93H28hkqJrCH49JEc+aDoORYNQ=; b=oEWOj2cC5p+hVKhFUcPy206w6wtaLVqC76IdwGCuWV5CaU+PLMqTsVqAMlp0FMOuSA zlWmdVneV12dCu4oAtT7F/9TBpId1qIcfelSkU22pxCSgvOEA6ucktlAeZj6hBkdyzP0 Hn83nKtGtsLTgCStvyqm8kxFm+LD/ARckiH5w1eV2RSNrkX8dCJIoT8OCkOL256M9JVa 7afJHj6hoEQHHd7YXh/qXbw+qfwHpxdK98AWhSTvQzdb/2bMw4PRUmdnraxKoNIguLI9 61kPS87mcdUOzWLcsuR/7qVK+vLsRbhMzOEFWzuQpplUADmS2N8FBg4CEr+8Xz2edIkj 1yLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@efficios.com header.s=default header.b=LFinkbyx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=efficios.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a36si19047178pgb.165.2019.04.24.14.46.23; Wed, 24 Apr 2019 14:46:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@efficios.com header.s=default header.b=LFinkbyx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=efficios.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731165AbfDXPZi (ORCPT + 99 others); Wed, 24 Apr 2019 11:25:38 -0400 Received: from mail.efficios.com ([167.114.142.138]:57770 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727995AbfDXPZh (ORCPT ); Wed, 24 Apr 2019 11:25:37 -0400 Received: from localhost (ip6-localhost [IPv6:::1]) by mail.efficios.com (Postfix) with ESMTP id 2DC621D9146; Wed, 24 Apr 2019 11:25:35 -0400 (EDT) Received: from mail.efficios.com ([IPv6:::1]) by localhost (mail02.efficios.com [IPv6:::1]) (amavisd-new, port 10032) with ESMTP id lEmgGk7ohO1e; Wed, 24 Apr 2019 11:25:34 -0400 (EDT) Received: from localhost (ip6-localhost [IPv6:::1]) by mail.efficios.com (Postfix) with ESMTP id B268F1D9139; Wed, 24 Apr 2019 11:25:34 -0400 (EDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.efficios.com B268F1D9139 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=default; t=1556119534; bh=jI7SyLyER8knY1Qqz93H28hkqJrCH49JEc+aDoORYNQ=; h=From:To:Date:Message-Id; b=LFinkbyx92ebQ71UHe/ZRgNzvjjYOSEmPS72g/VAVpUUIaEN5Mman67LgBgwKJydw HcUUpBF4fVPjNRqTOJktszzOfjxt2TXYxoFiJdr9TY4majqZ8TpiP3YaAXhGXm5CzL +gBRnvNVIaY8hTK3W5GNoj01f+0nIa4iBM5btA/t1JS2j5TGBKpQPvfaGyC9kRWweR L0aVaCuXZCC0A3zOGp87/PEEbV/cCy2Om2vkweZIaFmCAW5toy71vO84pua0bwUsxZ X9SgP9/z82ViGPteiT4Ur8HexEDBvZbMOiYRynNG+9ICSL4B2RVEh0nHChsJDRWEtn pJhO/q1kShXaQ== X-Virus-Scanned: amavisd-new at efficios.com Received: from mail.efficios.com ([IPv6:::1]) by localhost (mail02.efficios.com [IPv6:::1]) (amavisd-new, port 10026) with ESMTP id JPX-M5LCT9Ks; Wed, 24 Apr 2019 11:25:34 -0400 (EDT) Received: from thinkos.internal.efficios.com (192-222-157-41.qc.cable.ebox.net [192.222.157.41]) by mail.efficios.com (Postfix) with ESMTPSA id 2DE8A1D9133; Wed, 24 Apr 2019 11:25:34 -0400 (EDT) From: Mathieu Desnoyers 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 , 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> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@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