1 // SPDX-License-Identifier: BSD-2-Clause 2 /* 3 * Copyright (c) 2014, STMicroelectronics International N.V. 4 */ 5 #include <compiler.h> 6 #include <trace.h> 7 8 #if defined(__KERNEL__) 9 # include <kernel/panic.h> 10 # define PANIC() panic() 11 #elif defined(__LDELF__) 12 # include <ldelf_syscalls.h> 13 # define PANIC() _ldelf_panic(2) 14 #else 15 # include <utee_syscalls.h> 16 # define PANIC() _utee_panic(TEE_ERROR_OVERFLOW) 17 #endif 18 19 void *__stack_chk_guard __nex_data = (void *)0x00000aff; 20 21 void __attribute__((noreturn)) __stack_chk_fail(void); 22 __stack_chk_fail(void)23void __stack_chk_fail(void) 24 { 25 EMSG_RAW("stack smashing detected"); 26 while (1) 27 PANIC(); 28 } 29 30