GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
+34
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#include <arch.h>
|
||||
#include <asm_macros.S>
|
||||
#include <assert_macros.S>
|
||||
|
||||
.globl update_stack_protector_canary
|
||||
|
||||
/* -----------------------------------------------------------------------
|
||||
* void update_stack_protector_canary(void)
|
||||
*
|
||||
* Change the value of the canary used for stack smashing attacks protection.
|
||||
* Note: This must be called when it is safe to call C code, but this cannot be
|
||||
* called by C code. Doing this will make the check fail when the calling
|
||||
* function returns.
|
||||
* -----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
func update_stack_protector_canary
|
||||
/* Use r4 as it is callee-saved */
|
||||
mov r4, lr
|
||||
bl plat_get_stack_protector_canary
|
||||
|
||||
/* Update the canary with the returned value */
|
||||
ldr r1, =__stack_chk_guard
|
||||
str r0, [r1]
|
||||
bx r4
|
||||
endfunc update_stack_protector_canary
|
||||
|
||||
|
||||
Reference in New Issue
Block a user