linux/arch/mips
Maciej W. Rozycki a60b1a5bf8 MIPS: Send SIGILL for R6 branches in `__compute_return_epc_for_insn'
Fix:

* commit 8467ca0122 ("MIPS: Emulate the new MIPS R6 branch compact
(BC) instruction"),

* commit 84fef63012 ("MIPS: Emulate the new MIPS R6 BALC
instruction"),

* commit 69b9a2fd05 ("MIPS: Emulate the new MIPS R6 BEQZC and JIC
instructions"),

* commit 28d6f93d20 ("MIPS: Emulate the new MIPS R6 BNEZC and JIALC
instructions"),

* commit c893ce38b2 ("MIPS: Emulate the new MIPS R6 BOVC, BEQC and
BEQZALC instructions")

and send SIGILL rather than returning -SIGILL for R6 branch and jump
instructions.  Returning -SIGILL is never correct as the API defines
this function's result upon error to be -EFAULT and a signal actually
issued.

Fixes: 8467ca0122 ("MIPS: Emulate the new MIPS R6 branch compact (BC) instruction")
Fixes: 84fef63012 ("MIPS: Emulate the new MIPS R6 BALC instruction")
Fixes: 69b9a2fd05 ("MIPS: Emulate the new MIPS R6 BEQZC and JIC instructions")
Fixes: 28d6f93d20 ("MIPS: Emulate the new MIPS R6 BNEZC and JIALC instructions")
Fixes: c893ce38b2 ("MIPS: Emulate the new MIPS R6 BOVC, BEQC and BEQZALC instructions")
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.19+
Patchwork: https://patchwork.linux-mips.org/patch/16399/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2017-06-29 02:42:27 +02:00
..
alchemy MIPS: clockevent drivers: Set ->min_delta_ticks and ->max_delta_ticks 2017-04-14 13:11:16 -07:00
ar7 MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
ath25
ath79 MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
bcm47xx MIPS: BCM47XX: Fix button inversion for Asus WL-500W 2017-02-17 11:16:46 +00:00
bcm63xx MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
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 MIPS: Avoid old-style declaration 2017-01-25 02:51:11 +01:00
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 MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
jz4740 MIPS: clockevent drivers: Set ->min_delta_ticks and ->max_delta_ticks 2017-04-14 13:11:16 -07:00
kernel MIPS: Send SIGILL for R6 branches in `__compute_return_epc_for_insn' 2017-06-29 02:42:27 +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 MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
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 MIPS: Add missing include files 2017-03-08 10:38:06 +01:00
oprofile mips: sanitize __access_ok() 2017-04-06 02:08:06 -04:00
paravirt sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
pci Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2017-05-12 09:56:30 -07:00
pic32 MIPS: pic32mzda: Fix linker error for pic32_get_pbclk() 2017-02-17 11:14:29 +00:00
pistachio
pmcs-msp71xx MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
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 MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
sgi-ip22 MIPS: Add missing include files 2017-03-08 10:38:06 +01:00
sgi-ip27 MIPS: clockevent drivers: Set ->min_delta_ticks and ->max_delta_ticks 2017-04-14 13:11:16 -07:00
sgi-ip32 MIPS: Add missing include files 2017-03-08 10:38:06 +01:00
sibyte MIPS: Sibyte: Export symbol periph_rev to sb1250-mac network driver. 2017-04-21 03:23:24 +02:00
sni
txx9 MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
vdso MIPS: VDSO: Explicitly use -fno-asynchronous-unwind-tables 2017-02-17 11:32:12 +00:00
vr41xx MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
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 MIPS: Fix distclean with Makefile.postlink 2017-02-13 18:57:34 +00:00