mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-07-16 03:47:19 +00:00
37 lines
881 B
Plaintext
37 lines
881 B
Plaintext
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
|