CONFIG_ARM_STACK_PROTECTION

(No prompt – not directly user assignable.)

Type: bool

Help

This option enables either: - The built-in Stack Pointer limit checking, or - the MPU-based stack guard to cause a system fatal error if the bounds of the current process stack are overflowed. The two stack guard options are mutually exclusive. The selection of the built-in Stack Pointer limit checking is prioritized over the MPU-based stack guard. The developer still has the option to manually select the MPU-based stack guard, if this is desired.

Direct dependencies

!ARM64 && ARM

(Includes any dependencies from ifs and menus.)

Default

Symbols selected by this symbol

Symbols implied by this symbol

Kconfig definition

At <Zephyr>/arch/arm/core/aarch32/Kconfig:159

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:29<Zephyr>/arch/Kconfig:12<Zephyr>/arch/arm/Kconfig:42

Menu path: (Top) → ARM Options

config ARM_STACK_PROTECTION
    bool
    default y if HW_STACK_PROTECTION
    select MPU_STACK_GUARD if !BUILTIN_STACK_GUARD && ARM_MPU
    imply BUILTIN_STACK_GUARD if CPU_CORTEX_M_HAS_SPLIM
    depends on !ARM64 && ARM
    help
      This option enables either:
      - The built-in Stack Pointer limit checking, or
      - the MPU-based stack guard
      to cause a system fatal error
      if the bounds of the current process stack are overflowed.
      The two stack guard options are mutually exclusive. The
      selection of the built-in Stack Pointer limit checking is
      prioritized over the MPU-based stack guard. The developer
      still has the option to manually select the MPU-based
      stack guard, if this is desired.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)