All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Mark Brown" <broonie@kernel.org>
Cc: "Marc Zyngier" <maz@kernel.org>,
	"Oliver Upton" <oupton@kernel.org>,
	kvmarm@lists.linux.dev
Subject: Re: [PATCH v19 13/14] tools: Synchronise the kernel esr.h
Date: Wed, 12 Aug 2026 19:37:18 +0000	[thread overview]
Message-ID: <20260812193718.D0FB31F00A3A@smtp.kernel.org> (raw)
In-Reply-To: <20260812-arm64-gcs-v19-13-9105afd828ac@kernel.org>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:

Pre-existing issues:
- [High] Helper functions for fault status codes do not check for level -2 page table faults, despite the underlying macros explicitly supporting them.
--

--- Patch [13]: [PATCH v19 13/14] tools: Synchronise the kernel esr.h ---
commit 5fb6f6b253d11f55810a8290d81373d977245cee
Author: Mark Brown <broonie@kernel.org>

tools: Synchronise the kernel esr.h

This commit synchronizes the tools version of the arm64 esr.h header with
the main kernel header. It primarily picks up new definitions for GCS
(Guarded Control Stack) alongside other fault status helpers.

> diff --git a/tools/arch/arm64/include/asm/esr.h b/tools/arch/arm64/include/asm/esr.h
> index f3c6403e5ef2b..24c6ebe3fd416 100644
> --- a/tools/arch/arm64/include/asm/esr.h
> +++ b/tools/arch/arm64/include/asm/esr.h

[ ... ]

> @@ -439,6 +490,46 @@ static inline bool esr_fsc_is_access_flag_fault(unsigned long esr)

[ ... ]

> +static inline bool esr_fsc_is_addr_sz_fault(unsigned long esr)
> +{
> +	esr &= ESR_ELx_FSC;
> +
> +	return (esr == ESR_ELx_FSC_ADDRSZ_L(3))	||
> +	       (esr == ESR_ELx_FSC_ADDRSZ_L(2))	||
> +	       (esr == ESR_ELx_FSC_ADDRSZ_L(1)) ||
> +	       (esr == ESR_ELx_FSC_ADDRSZ_L(0))	||
> +	       (esr == ESR_ELx_FSC_ADDRSZ_L(-1));
> +}

[Severity: High]
This is a pre-existing issue, but does this helper (along with the existing
esr_fsc_is_translation_fault() function) fail to check for level -2 page
table faults?

If a guest VM utilizing 128-bit page tables (FEAT_D128) encounters a stage-2
translation fault at level -2 (FSC 0x2A) or an address size fault (FSC 0x2C),
would KVM's MMU exit handler fail to recognize the fault because the -2 level
is omitted here? 

It looks like missing the (esr == ESR_ELx_FSC_ADDRSZ_L(-2)) and the
corresponding ESR_ELx_FSC_FAULT_L(-2) check might cause the host to treat a
legitimate memory access as an unhandled abort, resulting in a VM crash.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260812-arm64-gcs-v19-0-9105afd828ac@kernel.org?part=13

  reply	other threads:[~2026-08-12 19:37 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-12 19:11 [PATCH v19 00/14] KVM: arm64: Provide guest support for GCS Mark Brown
2026-08-12 19:12 ` [PATCH v19 01/14] arm64/gcs: Ensure FGTs for EL1 GCS instructions are disabled Mark Brown
2026-08-12 19:12 ` [PATCH v19 02/14] KVM: arm64: Fix FGT mapping for HFGITR_EL2.nGCSEPP Mark Brown
2026-08-12 19:12 ` [PATCH v19 03/14] KVM: arm64: Manage GCS access and registers for guests Mark Brown
2026-08-12 19:44   ` sashiko-bot
2026-08-12 19:12 ` [PATCH v19 04/14] KVM: arm64: Ensure GCS memory effects are visible Mark Brown
2026-08-12 19:12 ` [PATCH v19 05/14] KVM: arm64: Set PSTATE.EXLOCK when entering an exception Mark Brown
2026-08-12 19:33   ` sashiko-bot
2026-08-12 19:12 ` [PATCH v19 06/14] KVM: arm64: Validate GCS exception lock when emulating ERET Mark Brown
2026-08-12 19:12 ` [PATCH v19 07/14] KVM: arm64: Forward GCS exceptions to nested guests Mark Brown
2026-08-12 19:32   ` sashiko-bot
2026-08-12 19:12 ` [PATCH v19 08/14] KVM: arm64: Enforce EXLOCK for SPSR and ELR Mark Brown
2026-08-12 19:12 ` [PATCH v19 09/14] KVM: arm64: Allow GCS to be enabled for guests Mark Brown
2026-08-12 19:12 ` [PATCH v19 10/14] KVM: selftests: arm64: Add GCS registers to get-reg-list Mark Brown
2026-08-12 19:30   ` sashiko-bot
2026-08-12 19:12 ` [PATCH v19 11/14] KVM: selftests: arm64: Add GCS to set_id_regs Mark Brown
2026-08-12 19:12 ` [PATCH v19 12/14] KVM: selftests: arm64: Only restore SPSR_EL1 and ELR_EL1 if they change Mark Brown
2026-08-12 19:12 ` [PATCH v19 13/14] tools: Synchronise the kernel esr.h Mark Brown
2026-08-12 19:37   ` sashiko-bot [this message]
2026-08-12 19:12 ` [PATCH v19 14/14] KVM: selftests: arm64: Add GCS EXLOCK exception emulation test Mark Brown
2026-08-12 19:37   ` sashiko-bot

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=20260812193718.D0FB31F00A3A@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=broonie@kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=maz@kernel.org \
    --cc=oupton@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.