Mark Brown <broonie@xxxxxxxxxx> writes: > On Wed, Aug 07, 2024 at 07:39:54PM -0300, Thiago Jung Bauermann wrote: > >> # # Thread-4870: Failed to enable GCS > > which is printed if a basic PR_SET_SHADOW_STACK_STATUS fails immediately > the program starts executing: > > function _start > // Run with GCS > mov x0, PR_SET_SHADOW_STACK_STATUS > mov x1, PR_SHADOW_STACK_ENABLE > mov x2, xzr > mov x3, xzr > mov x4, xzr > mov x5, xzr > mov x8, #__NR_prctl > svc #0 > cbz x0, 1f > puts "Failed to enable GCS\n" > b abort > > the defines for which all seem up to date (and unlikely to fail in > system or config specific fashions). What happens if you try to execute > the gcs-stress-thread binary directly, does strace show anything > interesting? If you instrument arch_set_shadow_stack_status() in the > kernel does it show anything? Thank you for the pointer. It turned out that I accidentally ran the selftests binaries from the v9 version instead of the v10 version, and the gcs-stress-thread binary failed because it was using the old value for PR_SET_SHADOW_STACK_STATUS. Using the v10 version of the selftests the gcs-stress test passes. Sorry for the false alarm. Tested-by: Thiago Jung Bauermann <thiago.bauermann@xxxxxxxxxx> -- Thiago