:orphan: .. title:: ARM_STACK_PROTECTION .. option:: 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 =================== \ :option:`ARM ` *(Includes any dependencies from ifs and menus.)* Default ======= - y if \ :option:`HW_STACK_PROTECTION ` Symbols selected by this symbol =============================== - \ :option:`MPU_STACK_GUARD ` if !\ :option:`BUILTIN_STACK_GUARD ` && \ :option:`ARM_MPU ` Symbols implied by this symbol ============================== - \ :option:`BUILTIN_STACK_GUARD ` if \ :option:`CPU_CORTEX_M_HAS_SPLIM ` Kconfig definition ================== At ``/arm/core/aarch32/Kconfig:161`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:29`` → ``/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.)*