GCC's strong stack protector feature is increasingly used as default in many distros, because of comparatively low overhead. This series adds support in barebox to catch stack frame overflow as well as a guard page feature to catch stack region overflow. Ahmad Fatoum (5): include: move PAGE_ definitions into linux/pagemap.h ARM: mark early C setup functions as __prereloc lib: add stackprotector support ARM: mmu: catch stack overflowing into TTB with stack guard page commands: add stacksmash command for causing stack overflows Makefile | 3 - arch/arm/cpu/common.c | 2 +- arch/arm/cpu/interrupts_32.c | 21 +++++- arch/arm/cpu/interrupts_64.c | 38 +++++++--- arch/arm/cpu/mmu_32.c | 16 +++++ arch/arm/cpu/mmu_64.c | 15 ++++ arch/arm/cpu/start.c | 4 +- arch/arm/include/asm/barebox-arm.h | 18 ++++- arch/arm/include/asm/reloc.h | 2 +- arch/arm/lib64/string.c | 2 +- commands/Kconfig | 6 ++ commands/Makefile | 1 + commands/stacksmash.c | 58 ++++++++++++++++ include/common.h | 6 +- include/linux/compiler_types.h | 21 ++++++ include/linux/pagemap.h | 8 ++- lib/Kconfig | 2 + lib/Kconfig.hardening | 108 +++++++++++++++++++++++++++++ lib/Makefile | 1 + lib/stackprot.c | 32 +++++++++ lib/string.c | 2 +- scripts/Makefile.lib | 10 +++ 22 files changed, 350 insertions(+), 26 deletions(-) create mode 100644 commands/stacksmash.c create mode 100644 lib/Kconfig.hardening create mode 100644 lib/stackprot.c -- 2.39.2