:orphan: .. title:: CONFIG_ARM_STACK_PROTECTION .. kconfig:: CONFIG_ARM_STACK_PROTECTION CONFIG_ARM_STACK_PROTECTION ########################### *(No prompt -- not directly user assignable.)* Type: ``bool`` Help ==== .. code-block:: none 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 =================== \ :kconfig:`ARM ` *(Includes any dependencies from ifs and menus.)* Default ======= - y if \ :kconfig:`HW_STACK_PROTECTION ` Symbols selected by this symbol =============================== - \ :kconfig:`MPU_STACK_GUARD ` if !\ :kconfig:`BUILTIN_STACK_GUARD ` && \ :kconfig:`ARM_MPU ` Symbols implied by this symbol ============================== - \ :kconfig:`BUILTIN_STACK_GUARD ` if \ :kconfig:`CPU_CORTEX_M_HAS_SPLIM ` Kconfig definition ================== At ``/arm/core/aarch32/Kconfig:163`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:39`` → ``/Kconfig:12`` → ``/arm/Kconfig:57`` Menu path: (Top) → ARM Options .. code-block:: kconfig 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 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.)*