Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b628cac authored by Ben Chan's avatar Ben Chan Committed by Ralf Baechle
Browse files

MIPS: ZBOOT: implement stack protector in compressed boot phase



This patch implements the stack protector code in MIPS compressed boot
phase based on the same code added to arm in commit
8779657d "stackprotector: Introduce
CONFIG_CC_STACKPROTECTOR_STRONG" by Kees Cook <keescook@chromium.org>

Signed-off-by: default avatarBen Chan <benchan@chromium.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Olof Johansson <olofj@chromium.org>
Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/7175/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 0d6b614a
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -67,10 +67,24 @@ void error(char *x)
#include "../../../../lib/decompress_unxz.c"
#endif

unsigned long __stack_chk_guard;

void __stack_chk_guard_setup(void)
{
	__stack_chk_guard = 0x000a0dff;
}

void __stack_chk_fail(void)
{
	error("stack-protector: Kernel stack is corrupted\n");
}

void decompress_kernel(unsigned long boot_heap_start)
{
	unsigned long zimage_start, zimage_size;

	__stack_chk_guard_setup();

	zimage_start = (unsigned long)(&__image_begin);
	zimage_size = (unsigned long)(&__image_end) -
	    (unsigned long)(&__image_begin);