aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/kernel/entry-armv.S
diff options
context:
space:
mode:
authorGravatar Russell King <rmk+kernel@armlinux.org.uk> 2017-09-09 16:34:41 +0100
committerGravatar Russell King <rmk+kernel@armlinux.org.uk> 2017-09-09 16:34:41 +0100
commite558bdc21ae1f0db520eccd84015e17d8a589973 (patch)
treeb436123bd52f267b8c7f361618cded3e1e4421ea /arch/arm/kernel/entry-armv.S
parentARM: 8692/1: mm: abort uaccess retries upon fatal signal (diff)
parentARM: 8691/1: Export save_stack_trace_tsk() (diff)
downloadlinux-e558bdc21ae1f0db520eccd84015e17d8a589973.tar.gz
linux-e558bdc21ae1f0db520eccd84015e17d8a589973.tar.bz2
linux-e558bdc21ae1f0db520eccd84015e17d8a589973.zip
Merge branches 'fixes' and 'misc' into for-linus
Diffstat (limited to 'arch/arm/kernel/entry-armv.S')
-rw-r--r--arch/arm/kernel/entry-armv.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 4c0b9e569a9e..fbc707626b3e 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -798,7 +798,10 @@ ENTRY(__switch_to)
#if defined(CONFIG_CC_STACKPROTECTOR) && !defined(CONFIG_SMP)
ldr r7, [r2, #TI_TASK]
ldr r8, =__stack_chk_guard
- ldr r7, [r7, #TSK_STACK_CANARY]
+ .if (TSK_STACK_CANARY > IMM12_MASK)
+ add r7, r7, #TSK_STACK_CANARY & ~IMM12_MASK
+ .endif
+ ldr r7, [r7, #TSK_STACK_CANARY & IMM12_MASK]
#endif
#ifdef CONFIG_CPU_USE_DOMAINS
mcr p15, 0, r6, c3, c0, 0 @ Set domain register