]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/kernel/entry-armv.S
ARM: Prepare for randomized task_struct
[karo-tx-linux.git] / arch / arm / kernel / entry-armv.S
index 9f157e7c51e75cc468de327bd9c5403353885849..c731f0d2b2af1549dea68dcce2035ce398b81604 100644 (file)
@@ -797,7 +797,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