James McGregor 03eedad2ad arm-gcs: add recipe for GDB with GCS support 9 月之前
..
conf 1b294d0dbe Add some automated GCS testing 10 月之前
lib a9fde75f5f arm-gcs: add test for GCS CHKFEAT 10 月之前
recipes-bsp b1dd7d90f6 Add GCS prototype 10 月之前
recipes-core fe553984a9 arm-gcs/glibc: fix prctl() argument definitions 10 月之前
recipes-devtools 03eedad2ad arm-gcs: add recipe for GDB with GCS support 8 月之前
recipes-kernel d2733037ad arm-gcs/linux-yocto: update to 6.11-rc3 and v12 of the GCS patches 9 月之前
recipes-test a9fde75f5f arm-gcs: add test for GCS CHKFEAT 10 月之前
.gitignore b1dd7d90f6 Add GCS prototype 10 月之前
COPYING.MIT b1dd7d90f6 Add GCS prototype 10 月之前
README d2c43f9aba arm-gcs/README: show how to run tests 10 月之前
gcs-test.yml 062c2c9e10 CI: remove duplicated testimage options 10 月之前
gcs.yml d2733037ad arm-gcs/linux-yocto: update to 6.11-rc3 and v12 of the GCS patches 9 月之前

README

Guarded Control Stack prototype
===============================

To build:

First, install Kas if you don't already have it:

$ pip3 install --user kas

Then use Kas to build an image:

$ kas build --update gcs.yml

To run the image inside an FVP:

$ kas shell gcs.yml -c "../../scripts/runfvp --console"

To run the tests automatically, Kas can be used:

$ kas build --update meta-arm-gcs/gcs-test.yml

Verification:

On boot, the kernel should detect that the cores have GCS:

CPU features: detected: Guarded Control Stack (GCS)

Binaries should be tagged with PAC/BTI/GCS:

$ readelf -n /bin/bash | grep AArch
Properties: AArch64 feature: BTI, PAC, GCS

Enabling GCS tunables shouldn't cause crashes:

$ GLIBC_TUNABLES=glibc.cpu.aarch64_gcs=1:glibc.cpu.aarch64_gcs_policy=2 ls /
bin boot dev etc home lib lost+found media mnt proc run sbin sys tmp usr var