OSDN Git Service

MIPS: Fix erroneous JR emulation for MIPS R6
authorMarkos Chandras <markos.chandras@imgtec.com>
Wed, 24 Jun 2015 08:52:01 +0000 (09:52 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 9 Jul 2015 09:11:43 +0000 (11:11 +0200)
commit143fefc8f315cd10e046e6860913c421c3385cb1
tree4bc0ebed3888fd6cb66b04bdccf2d0e2dc178593
parente9d92d223381f1f3be5d87322b576721d3b93612
MIPS: Fix erroneous JR emulation for MIPS R6

Commit 5f9f41c474befb4ebbc40b27f65bb7d649241581 ("MIPS: kernel: Prepare
the JR instruction for emulation on MIPS R6") added support for
emulating the JR instruction on MIPS R6 cores but that introduced a bug
which could be triggered when hitting a JALR opcode because the code used
the wrong field in the 'r_format' struct to determine the instruction
opcode. This lead to crashes because an emulated JALR instruction was
treated as a JR one when the R6 emulator was turned off.

Fixes: 5f9f41c474be ("MIPS: kernel: Prepare the JR instruction for emulation on MIPS R6")
Cc: <stable@vger.kernel.org> # 4.0+
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: stable@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/10583/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/math-emu/cp1emu.c