Patch "ARC: use correct offset in pt_regs for saving/restoring user mode r25" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
ARC: use correct offset in pt_regs for saving/restoring user mode r25
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
arc-use-correct-offset-in-pt_regs-for-saving-restoring-user-mode-r25.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
86147e3cfa5e118b61e78f4f0bf29e920dcbd477Mon Sep 17 00:00:00 2001
From: Liav Rehana <[email protected]>
Date: Tue, 16 Aug 2016 10:55:35 +0300
Subject: ARC: use correct offset in pt_regs for saving/restoring user mode r25
From: Liav Rehana <[email protected]>
commit 86147e3cfa5e118b61e78f4f0bf29e920dcbd477 upstream.
User mode callee regs are explicitly collected before signal delivery or breakpoint trap. r25 is special for kernel as it serves as task pointer, so user mode value is clobbered very early. It is saved in pt_regs where generally only scratch (aka caller saved) regs are saved.
The code to access the corresponding pt_regs location had a subtle bug as it was using load/store with scaling of offset, whereas the offset was already byte wise correct. So fix this by replacing LD.AS with a standard LD
--- arch/arc/include/asm/entry.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arc/include/asm/entry.h +2 -2
@@ -142,7 +142,7 @@#ifdef CONFIG_ARC_CURR_IN_REG ; Retrieve orig r25 and save it with rest of callee_regs - ld.as r12, [r12, PT_user_r25] + ld r12, [r12, PT_user_r25] PUSH r12 #else PUSH r25
@@ -198,7 +198,7 @@ ; SP is back to start of pt_regs#ifdef CONFIG_ARC_CURR_IN_REG - st.as r12, [sp, PT_user_r25] + st r12, [sp, PT_user_r25] #endif .endm
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/arc-use-correct-offset-in-pt_regs-for-saving-restoring-user-mode-r25.patch