1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-07-26 07:07:16 +00:00
Files
meta-arm/meta-arm-gcs
2024-08-06 13:36:29 +01:00
..
2024-08-06 13:36:29 +01:00
2024-08-06 13:36:29 +01:00
2024-08-06 13:36:29 +01:00
2024-08-06 13:36:29 +01:00
2024-08-06 13:36:29 +01:00
2024-08-06 13:36:29 +01:00
2024-08-06 13:36:29 +01:00
2024-08-06 13:36:29 +01:00

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"


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