[PATCH v15 0/6] KVM: arm64: Provide guest support for GCS
Marc Zyngier
maz at kernel.org
Wed Aug 20 15:30:31 PDT 2025
On Wed, 20 Aug 2025 15:14:40 +0100,
Mark Brown <broonie at kernel.org> wrote:
>
> The arm64 Guarded Control Stack (GCS) feature provides support for
> hardware protected stacks of return addresses, intended to provide
> hardening against return oriented programming (ROP) attacks and to make
> it easier to gather call stacks for applications such as profiling.
>
> When GCS is active a secondary stack called the Guarded Control Stack is
> maintained, protected with a memory attribute which means that it can
> only be written with specific GCS operations. The current GCS pointer
> can not be directly written to by userspace. When a BL is executed the
> value stored in LR is also pushed onto the GCS, and when a RET is
> executed the top of the GCS is popped and compared to LR with a fault
> being raised if the values do not match. GCS operations may only be
> performed on GCS pages, a data abort is generated if they are not.
>
> The combination of hardware enforcement and lack of extra instructions
> in the function entry and exit paths should result in something which
> has less overhead and is more difficult to attack than a purely software
> implementation like clang's shadow stacks.
>
> This series implements support for managing GCS for KVM guests, it also
> includes a fix for S1PIE which has also been sent separately as this
> feature is a dependency for GCS. It is based on:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/gcs
>
Is this cover letter accurate? I don't see any PIE-related patch, and
you indicate this being rebased on 6.17-rc1...
M.
--
Jazz isn't dead. It just smells funny.
More information about the linux-arm-kernel
mailing list