123456789101112131415161718192021222324252627282930313233343536 |
- 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
|