File: stack_check.c

package info (click to toggle)
optee-os 4.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 31,960 kB
  • sloc: ansic: 444,388; asm: 12,922; python: 3,719; makefile: 1,681; sh: 238
file content (29 lines) | stat: -rw-r--r-- 612 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// SPDX-License-Identifier: BSD-2-Clause
/*
 * Copyright (c) 2014, STMicroelectronics International N.V.
 */
#include <compiler.h>
#include <trace.h>

#if defined(__KERNEL__)
# include <kernel/panic.h>
# define PANIC() panic()
#elif defined(__LDELF__)
# include <ldelf_syscalls.h>
# define PANIC() _ldelf_panic(2)
#else
# include <utee_syscalls.h>
# define PANIC() _utee_panic(TEE_ERROR_OVERFLOW)
#endif

void *__stack_chk_guard __nex_data = (void *)0x00000aff;

void __attribute__((noreturn)) __stack_chk_fail(void);

void __stack_chk_fail(void)
{
	EMSG_RAW("stack smashing detected");
	while (1)
		PANIC();
}