ARC: use correct offset in pt_regs for saving/restoring user mode r25
authorLiav Rehana <liavr@mellanox.com>
Tue, 16 Aug 2016 07:55:35 +0000 (10:55 +0300)
committerVineet Gupta <vgupta@synopsys.com>
Fri, 19 Aug 2016 17:44:13 +0000 (10:44 -0700)
commit86147e3cfa5e118b61e78f4f0bf29e920dcbd477
tree26765560dc4305f1f735c728c4bfc70a3680490c
parent45c3b08a117e2232fc8d7b9e849ead36386f4f96
ARC: use correct offset in pt_regs for saving/restoring user mode r25

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

Cc: <stable@vger.kernel.org>
Signed-off-by: Liav Rehana <liavr@mellanox.com>
Reviewed-by: Alexey Brodkin <abrodkin@synopsys.com>
[vgupta: rewrote title and commit log]
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/entry.h