https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86486
Bug ID: 86486 Summary: GCC 8 stack clash protection on AArch64 is incomplete Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: tnfchris at gcc dot gnu.org Reporter: tnfchris at gcc dot gnu.org Target Milestone: --- Target: aarch64*-*-* * Currently enabling stack clash will only provide protection from alloca and not from prologue and epilogue code. This is not sufficient to protect the stack from overflows. * On AArch64 there are 2 supported guard page sizes: 64KB and 4KB. The default guard page size is 64KB. The guard page size and probing interval must always be identical. Assuming a 64KB guard page, functions can allocate up to 63KB of stack and up to 1KB of outgoing arguments without requiring any probes. The callee save registers (specifically LR) count as an implicit probe. Because of this the current implementation does not provide adequate stack clash protection.