diff options
author | Nikolay Borisov <Nikolay.Borisov@arm.com> | 2014-05-08 15:54:26 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-05-25 23:44:26 +0100 |
commit | 8203d5b628907ae6141e4eb52f9b48e0f1f46cd2 (patch) | |
tree | 8b635436986e4036ace52cb30299eac7b7bfe70f /arch/arm/mm | |
parent | 537094b64b229bf3ad146042f83e74cf6abe59df (diff) | |
download | linux-8203d5b628907ae6141e4eb52f9b48e0f1f46cd2.tar.bz2 |
ARM: 8052/1: unwind: Fix handling of "Pop r4-r[4+nnn],r14" opcode
The arm EABI states that unwind opcode 10100nnn means pop register r4-4[4+nnn],aditionally there is a similar unwind opcode: 10101nnn which means the same thing plus popping r14. Those two cases are handled by the unwind_exec_pop_r4_to_rN function which checks whether the 4th bit is set and does r14 popping.
However, up until now it has been checking whether the 8th bit was set (mask & 0x80) instead of the 4th (mask & 0x8), a simple to make typo but this meant that we were always popping r14 even if we had the former opcode.
This patch changes the mask so that the 2 unwind opcodes are being handled correctly.
Signed-off-by: Nikolay Borisov <Nikolay.Borisov@arm.com>
Reviewed-by: Anurag Aggarwal <anurag19aggarwal@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm')
0 files changed, 0 insertions, 0 deletions