linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Brown <broonie@kernel.org>
To: Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>, Jonathan Corbet <corbet@lwn.net>,
	Andrew Morton <akpm@linux-foundation.org>,
	Marc Zyngier <maz@kernel.org>,
	Oliver Upton <oliver.upton@linux.dev>,
	James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Arnd Bergmann <arnd@arndb.de>, Oleg Nesterov <oleg@redhat.com>,
	Eric Biederman <ebiederm@xmission.com>,
	Kees Cook <keescook@chromium.org>, Shuah Khan <shuah@kernel.org>,
	"Rick P. Edgecombe" <rick.p.edgecombe@intel.com>,
	Deepak Gupta <debug@rivosinc.com>,
	Ard Biesheuvel <ardb@kernel.org>,
	Szabolcs Nagy <Szabolcs.Nagy@arm.com>
Cc: "H.J. Lu" <hjl.tools@gmail.com>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org,
	kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org,
	linux-arch@vger.kernel.org, linux-mm@kvack.org,
	linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-riscv@lists.infradead.org, Mark Brown <broonie@kernel.org>
Subject: [PATCH v5 15/37] arm64/idreg: Add overrride for GCS
Date: Tue, 22 Aug 2023 14:56:48 +0100	[thread overview]
Message-ID: <20230822-arm64-gcs-v5-15-9ef181dd6324@kernel.org> (raw)
In-Reply-To: <20230822-arm64-gcs-v5-0-9ef181dd6324@kernel.org>

Hook up an override for GCS, allowing it to be disabled from the command
line by specifying arm64.nogcs in case there are problems.

Signed-off-by: Mark Brown <broonie@kernel.org>
---
 Documentation/admin-guide/kernel-parameters.txt | 3 +++
 arch/arm64/kernel/idreg-override.c              | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 722b6eca2e93..db58fc2133fb 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -418,6 +418,9 @@
 	arm64.nobti	[ARM64] Unconditionally disable Branch Target
 			Identification support
 
+	arm64.nogcs	[ARM64] Unconditionally disable Guarded Control Stack
+			support
+
 	arm64.nopauth	[ARM64] Unconditionally disable Pointer Authentication
 			support
 
diff --git a/arch/arm64/kernel/idreg-override.c b/arch/arm64/kernel/idreg-override.c
index 2fe2491b692c..49269a5cff10 100644
--- a/arch/arm64/kernel/idreg-override.c
+++ b/arch/arm64/kernel/idreg-override.c
@@ -99,6 +99,7 @@ static const struct ftr_set_desc pfr1 __initconst = {
 	.override	= &id_aa64pfr1_override,
 	.fields		= {
 		FIELD("bt", ID_AA64PFR1_EL1_BT_SHIFT, NULL ),
+		FIELD("gcs", ID_AA64PFR1_EL1_GCS_SHIFT, NULL),
 		FIELD("mte", ID_AA64PFR1_EL1_MTE_SHIFT, NULL),
 		FIELD("sme", ID_AA64PFR1_EL1_SME_SHIFT, pfr1_sme_filter),
 		{}
@@ -178,6 +179,7 @@ static const struct {
 	{ "arm64.nosve",		"id_aa64pfr0.sve=0" },
 	{ "arm64.nosme",		"id_aa64pfr1.sme=0" },
 	{ "arm64.nobti",		"id_aa64pfr1.bt=0" },
+	{ "arm64.nogcs",		"id_aa64pfr1.gcs=0" },
 	{ "arm64.nopauth",
 	  "id_aa64isar1.gpi=0 id_aa64isar1.gpa=0 "
 	  "id_aa64isar1.api=0 id_aa64isar1.apa=0 "

-- 
2.30.2


  parent reply	other threads:[~2023-08-22 14:05 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-22 13:56 [PATCH v5 00/37] arm64/gcs: Provide support for GCS in userspace Mark Brown
2023-08-22 13:56 ` [PATCH v5 01/37] arm64/mm: Restructure arch_validate_flags() for extensibility Mark Brown
2023-08-22 13:56 ` [PATCH v5 02/37] prctl: arch-agnostic prctl for shadow stack Mark Brown
2023-08-22 13:56 ` [PATCH v5 03/37] arm64: Document boot requirements for Guarded Control Stacks Mark Brown
2023-08-22 13:56 ` [PATCH v5 04/37] arm64/gcs: Document the ABI " Mark Brown
2023-08-22 15:05   ` Szabolcs Nagy
2023-08-22 13:56 ` [PATCH v5 05/37] arm64/sysreg: Add new system registers for GCS Mark Brown
2023-08-22 13:56 ` [PATCH v5 06/37] arm64/sysreg: Add definitions for architected GCS caps Mark Brown
2023-08-22 13:56 ` [PATCH v5 07/37] arm64/gcs: Add manual encodings of GCS instructions Mark Brown
2023-08-22 13:56 ` [PATCH v5 08/37] arm64/gcs: Provide copy_to_user_gcs() Mark Brown
2023-08-22 13:56 ` [PATCH v5 09/37] arm64/cpufeature: Runtime detection of Guarded Control Stack (GCS) Mark Brown
2023-08-22 13:56 ` [PATCH v5 10/37] arm64/mm: Allocate PIE slots for EL0 guarded control stack Mark Brown
2023-08-22 13:56 ` [PATCH v5 11/37] mm: Define VM_SHADOW_STACK for arm64 when we support GCS Mark Brown
2023-08-22 15:21   ` David Hildenbrand
2023-08-22 15:41     ` Mark Brown
2023-08-22 16:47       ` Edgecombe, Rick P
2023-08-22 17:55         ` Mark Brown
2023-08-22 13:56 ` [PATCH v5 12/37] arm64/mm: Map pages for guarded control stack Mark Brown
2023-08-22 13:56 ` [PATCH v5 13/37] KVM: arm64: Manage GCS registers for guests Mark Brown
2023-08-22 13:56 ` [PATCH v5 14/37] arm64/gcs: Allow GCS usage at EL0 and EL1 Mark Brown
2023-08-22 13:56 ` Mark Brown [this message]
2023-08-22 13:56 ` [PATCH v5 16/37] arm64/hwcap: Add hwcap for GCS Mark Brown
2023-08-22 13:56 ` [PATCH v5 17/37] arm64/traps: Handle GCS exceptions Mark Brown
2023-08-22 13:56 ` [PATCH v5 18/37] arm64/mm: Handle GCS data aborts Mark Brown
2023-08-22 13:56 ` [PATCH v5 19/37] arm64/gcs: Context switch GCS state for EL0 Mark Brown
2023-08-22 13:56 ` [PATCH v5 20/37] arm64/gcs: Allocate a new GCS for threads with GCS enabled Mark Brown
2023-08-22 13:56 ` [PATCH v5 21/37] arm64/gcs: Implement shadow stack prctl() interface Mark Brown
2023-08-22 13:56 ` [PATCH v5 22/37] arm64/mm: Implement map_shadow_stack() Mark Brown
2023-08-22 13:56 ` [PATCH v5 23/37] arm64/signal: Set up and restore the GCS context for signal handlers Mark Brown
2023-08-22 13:56 ` [PATCH v5 24/37] arm64/signal: Expose GCS state in signal frames Mark Brown
2023-08-22 13:56 ` [PATCH v5 25/37] arm64/ptrace: Expose GCS via ptrace and core files Mark Brown
2023-08-22 13:56 ` [PATCH v5 26/37] arm64: Add Kconfig for Guarded Control Stack (GCS) Mark Brown
2023-08-22 13:57 ` [PATCH v5 27/37] kselftest/arm64: Verify the GCS hwcap Mark Brown
2023-08-22 13:57 ` [PATCH v5 28/37] kselftest/arm64: Add GCS as a detected feature in the signal tests Mark Brown
2023-08-22 13:57 ` [PATCH v5 29/37] kselftest/arm64: Add framework support for GCS to signal handling tests Mark Brown
2023-08-22 13:57 ` [PATCH v5 30/37] kselftest/arm64: Allow signals tests to specify an expected si_code Mark Brown
2023-08-22 13:57 ` [PATCH v5 31/37] kselftest/arm64: Always run signals tests with GCS enabled Mark Brown
2023-08-22 13:57 ` [PATCH v5 32/37] kselftest/arm64: Add very basic GCS test program Mark Brown
2023-08-22 13:57 ` [PATCH v5 33/37] kselftest/arm64: Add a GCS test program built with the system libc Mark Brown
2023-08-22 13:57 ` [PATCH v5 34/37] kselftest/arm64: Add test coverage for GCS mode locking Mark Brown
2023-08-22 13:57 ` [PATCH v5 35/37] selftests/arm64: Add GCS signal tests Mark Brown
2023-08-22 13:57 ` [PATCH v5 36/37] kselftest/arm64: Add a GCS stress test Mark Brown
2023-08-22 13:57 ` [PATCH v5 37/37] kselftest/arm64: Enable GCS for the FP stress tests Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230822-arm64-gcs-v5-15-9ef181dd6324@kernel.org \
    --to=broonie@kernel.org \
    --cc=Szabolcs.Nagy@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=corbet@lwn.net \
    --cc=debug@rivosinc.com \
    --cc=ebiederm@xmission.com \
    --cc=hjl.tools@gmail.com \
    --cc=james.morse@arm.com \
    --cc=keescook@chromium.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=maz@kernel.org \
    --cc=oleg@redhat.com \
    --cc=oliver.upton@linux.dev \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=rick.p.edgecombe@intel.com \
    --cc=shuah@kernel.org \
    --cc=suzuki.poulose@arm.com \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).