linux/arch/mips
Maciej W. Rozycki 11a3799dbe MIPS: Fix unaligned PC interpretation in `compute_return_epc'
Fix a regression introduced with commit fb6883e580 ("MIPS: microMIPS:
Support handling of delay slots.") and defer to `__compute_return_epc'
if the ISA bit is set in EPC with non-MIPS16, non-microMIPS hardware,
which will then arrange for a SIGBUS due to an unaligned instruction
reference.  Returning EPC here is never correct as the API defines this
function's result to be either a negative error code on failure or one
of 0 and BRANCH_LIKELY_TAKEN on success.

Fixes: fb6883e580 ("MIPS: microMIPS: Support handling of delay slots.")
Signed-off-by: Maciej W. Rozycki <macro@imgtec.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: stable@vger.kernel.org # 3.9+
Patchwork: https://patchwork.linux-mips.org/patch/16395/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2017-06-29 02:42:26 +02:00
..
alchemy MIPS: clockevent drivers: Set ->min_delta_ticks and ->max_delta_ticks 2017-04-14 13:11:16 -07:00
ar7
ath25
ath79
bcm47xx
bcm63xx
bmips
boot MIPS: SEAD-3: Fix GIC interrupt specifiers 2017-06-28 12:22:42 +02:00
cavium-octeon Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2017-05-12 09:56:30 -07:00
cobalt
configs MIPS: defconfig: Cleanup from old Kconfig options 2017-06-27 13:58:38 +02:00
dec format-security: move static strings to const 2017-05-08 17:15:14 -07:00
emma
fw
generic MIPS: SEAD-3: Set interrupt-parent per-device, not at root node 2017-06-28 12:22:41 +02:00
include MIPS: Fix unaligned PC interpretation in `compute_return_epc' 2017-06-29 02:42:26 +02:00
jazz
jz4740 MIPS: clockevent drivers: Set ->min_delta_ticks and ->max_delta_ticks 2017-04-14 13:11:16 -07:00
kernel MIPS: Actually decode JALX in `__compute_return_epc_for_insn' 2017-06-29 02:42:26 +02:00
kvm KVM: MIPS: Fix maybe-uninitialized build failure 2017-06-20 17:02:48 +02:00
lantiq MIPS: smp-mt: Use CPU interrupt controller IPI IRQ domain support 2017-04-12 23:13:13 +02:00
lasat
lib MIPS: R6: Fix PREF instruction usage by memcpy for MIPS R6 2017-06-29 02:42:24 +02:00
loongson32 MIPS: clockevent drivers: Set ->min_delta_ticks and ->max_delta_ticks 2017-04-14 13:11:16 -07:00
loongson64 MIPS: Loogson: Make enum loongson_cpu_type more clear 2017-06-29 02:42:23 +02:00
math-emu MIPS: math-emu: Prevent wrong ISA mode instruction emulation 2017-06-29 02:42:26 +02:00
mm MIPS: Probe the I6500 CPU 2017-06-28 12:22:39 +02:00
mti-malta Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2017-05-12 09:56:30 -07:00
net MIPS: Add support for eBPF JIT. 2017-06-28 12:22:39 +02:00
netlogic
oprofile mips: sanitize __access_ok() 2017-04-06 02:08:06 -04:00
paravirt
pci Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2017-05-12 09:56:30 -07:00
pic32
pistachio
pmcs-msp71xx
pnx833x
power
ralink Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-05-01 16:15:18 -07:00
rb532
sgi-ip22
sgi-ip27 MIPS: clockevent drivers: Set ->min_delta_ticks and ->max_delta_ticks 2017-04-14 13:11:16 -07:00
sgi-ip32
sibyte MIPS: Sibyte: Export symbol periph_rev to sb1250-mac network driver. 2017-04-21 03:23:24 +02:00
sni
txx9
vdso
vr41xx
xilfpga
Kbuild MIPS: Disable Werror when W= is set 2017-04-10 11:56:07 +02:00
Kbuild.platforms
Kconfig MIPS: Use queued spinlocks (qspinlock) 2017-06-29 02:42:26 +02:00
Kconfig.debug MIPS: Sibyte: Fix Kconfig warning. 2017-04-21 03:34:01 +02:00
Makefile MIPS: build: Fix "-modd-spreg" switch usage when compiling for mips32r6 2017-06-29 02:42:23 +02:00
Makefile.postlink