1
0
Fork 0
alistair23-linux/arch/mips
James Hogan 81a76d7119 MIPS: Avoid using unwind_stack() with usermode
When showing backtraces in response to traps, for example crashes and
address errors (usually unaligned accesses) when they are set in debugfs
to be reported, unwind_stack will be used if the PC was in the kernel
text address range. However since EVA it is possible for user and kernel
address ranges to overlap, and even without EVA userland can still
trigger an address error by jumping to a KSeg0 address.

Adjust the check to also ensure that it was running in kernel mode. I
don't believe any harm can come of this problem, since unwind_stack() is
sufficiently defensive, however it is only meant for unwinding kernel
code, so to be correct it should use the raw backtracing instead.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Reviewed-by: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: <stable@vger.kernel.org> # 3.15+
Patchwork: https://patchwork.linux-mips.org/patch/11701/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
(cherry picked from commit d2941a975ac745c607dfb590e92bb30bc352dad9)
2016-05-09 12:00:02 +02:00
..
alchemy MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
ar7 MIPS: ar7: use gpiochip data pointer 2016-02-19 09:51:43 +01:00
ath25 genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
ath79 MIPS: ath79: Fix the ar913x reference clock rate 2016-04-03 12:32:10 +02:00
bcm47xx FIRMWARE: Broadcom: Fix grammar of warning messages in bcm47xx_sprom.c. 2016-04-03 12:32:09 +02:00
bcm63xx Merge branch 'ib-mfd-regulator-gpio-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd into devel 2016-03-09 17:40:37 +07:00
bmips irqchips/bmips: Add bcm6345-l1 interrupt controller 2016-02-08 15:03:42 +01:00
boot MIPS: BMIPS: Remove maxcpus from BCM97435SVMB DTS 2016-05-09 12:00:01 +02:00
cavium-octeon MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
cobalt MIPS: Cobalt Don't use module_init in non-modular MTD registration. 2015-06-21 22:14:30 +02:00
configs MIPS: ci20: Enable NAND and UBIFS support in defconfig. 2016-04-03 12:32:09 +02:00
dec MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
emma MIPS: Remove panic_timeout settings 2013-11-26 12:12:27 +01:00
fw MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
include MIPS: Fix siginfo.h to use strict posix types 2016-05-09 12:00:00 +02:00
jazz MIPS: Jazz: Migrate to new 'set-state' interface 2015-09-03 12:07:50 +02:00
jz4740 MIPS: jz4740: Fix surviving instance of irq_to_gpio() 2016-02-29 11:23:49 +01:00
kernel MIPS: Avoid using unwind_stack() with usermode 2016-05-09 12:00:02 +02:00
kvm MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
lantiq MIPS: Make MIPS_CMDLINE_DTB default 2015-11-11 08:38:37 +01:00
lasat [mips] switch pvc_proc_cleanup() to remove_proc_subtree() 2015-12-23 10:41:38 -05:00
lib MIPS: Cleanup the unused __arch_local_irq_restore() function 2016-01-22 01:58:49 +01:00
loongson32 MIPS: loongsoon32: Migrate to new 'set-state' interface 2015-09-03 12:07:53 +02:00
loongson64 MIPS: hpet: Choose a safe value for the ETIME check 2016-01-22 02:00:49 +01:00
math-emu MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
mm MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
mti-malta MIPS: Fix early CM probing 2016-02-09 17:18:31 +01:00
mti-sead3 LED/MIPS: Move SEAD3 LED driver to where it belongs. 2015-11-03 08:59:20 +01:00
net net: filter: make JITs zero A for SKF_AD_ALU_XOR_X 2016-01-06 00:43:52 -05:00
netlogic MIPS: Make MIPS_CMDLINE_DTB default 2015-11-11 08:38:37 +01:00
oprofile MIPS: Add cases for CPU_I6400 2015-08-26 15:23:03 +02:00
paravirt MIPS: SMP: Don't increment irq_count multiple times for call function IPIs 2015-08-03 09:25:12 +02:00
pci PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
pic32 clk: Get rid of HAVE_MACH_CLKDEV 2016-02-25 14:41:20 -08:00
pistachio Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-11-15 09:10:53 -08:00
pmcs-msp71xx serial: Fix ASYNC_* => UPF_* flags misuse 2016-01-28 14:17:42 -08:00
pnx833x mips: nand: make use of mtd_to_nand() where appropriate 2015-12-08 13:03:07 -08:00
power MIPS: Hibernate: flush TLB entries earlier 2015-04-10 15:41:52 +02:00
ralink MIPS: pci: Add MT7620a PCIE driver 2016-01-20 00:39:20 +01:00
rb532 MIPS: rb532: use gpiochip data pointer 2016-02-19 09:51:44 +01:00
sgi-ip22 MIPS: ip22-gio: Remove legacy suspend/resume support 2015-02-20 13:30:55 +01:00
sgi-ip27 MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
sgi-ip32 MIPS: IP32: Fix build errors in reset code in DS1685 platform hook. 2015-05-13 00:01:41 +02:00
sibyte MIPS: Sibyte: Move bus watcher from deprecated __initcall to device_initcall 2015-09-03 12:07:49 +02:00
sni MIPS: Fix build error due to unused variables. 2015-12-22 15:21:18 +01:00
txx9 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2016-03-19 10:05:34 -07:00
vdso Fix ld-version.sh to handle large 3rd version part 2016-01-04 10:22:52 +01:00
vr41xx MIPS/IRQCHIP: Move irq_chip from arch/mips to drivers/irqchip. 2015-06-21 21:52:50 +02:00
xilfpga Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-11-15 09:10:53 -08:00
Kbuild MIPS: Initial implementation of a VDSO 2015-11-11 08:36:36 +01:00
Kbuild.platforms MIPS: Add support for PIC32MZDA platform 2016-01-24 02:53:28 +01:00
Kconfig The clk changes for this release cycle are mostly dominated by 2016-03-23 06:06:45 -07:00
Kconfig.debug MIPS: CPS: Early debug using an ns16550-compatible UART 2015-11-11 08:34:25 +01:00
Makefile MIPS: Loongson-3: Improve -march option and move it to Platform 2016-01-22 01:59:18 +01:00