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.

Reply via email to