android_kernel_google_msm/arch/mips
Markos Chandras df5c07b84d MIPS: MSC: Prevent out-of-bounds writes to MIPS SC ioremap'd region
commit ab6c15bc66 upstream.

Previously, the lower limit for the MIPS SC initialization loop was
set incorrectly allowing one extra loop leading to writes
beyond the MSC ioremap'd space. More precisely, the value of the 'imp'
in the last loop increased beyond the msc_irqmap_t boundaries and
as a result of which, the 'n' variable was loaded with an incorrect
value. This value was used later on to calculate the offset in the
MSC01_IC_SUP which led to random crashes like the following one:

CPU 0 Unable to handle kernel paging request at virtual address e75c0200,
epc == 8058dba4, ra == 8058db90
[...]
Call Trace:
[<8058dba4>] init_msc_irqs+0x104/0x154
[<8058b5bc>] arch_init_irq+0xd8/0x154
[<805897b0>] start_kernel+0x220/0x36c

Kernel panic - not syncing: Attempted to kill the idle task!

This patch fixes the problem

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Reviewed-by: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7118/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-06 18:49:19 -07:00
..
alchemy MIPS: Alchemy: Increase minimum timeout for 32kHz timer. 2012-02-20 18:33:18 +01:00
ar7 Merge branches 'next/ar7', 'next/ath79', 'next/bcm63xx', 'next/bmips', 'next/cavium', 'next/generic', 'next/kprobes', 'next/lantiq', 'next/perf' and 'next/raza' into mips-for-linux-next 2012-01-11 15:42:31 +01:00
ath79 MIPS: ath79: Fix ar933x watchdog clock 2013-09-26 17:15:50 -07:00
bcm47xx MIPS: BCM47XX: provide sprom to bcma bus 2012-03-05 15:20:51 -05:00
bcm63xx mips: Fix typo in bcm63xx/setup.c 2012-02-05 17:14:47 +01:00
boot
cavium-octeon Merge branch 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping 2012-04-04 17:13:43 -07:00
cobalt
configs locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage 2012-03-23 13:18:57 +01:00
dec Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
emma Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
fw Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
include/asm compiler/gcc4: Add quirk for 'asm goto' miscompilation bug 2014-04-14 06:44:16 -07:00
jazz Merge branch 'next/generic' into mips-for-linux-next 2012-01-11 15:41:47 +01:00
jz4740 ASoC: jz4740: Convert qi_lb60 to use snd_soc_register_card() 2012-01-20 13:58:29 +00:00
kernel MIPS: MSC: Prevent out-of-bounds writes to MIPS SC ioremap'd region 2014-07-06 18:49:19 -07:00
lantiq Merge branch 'next/generic' into mips-for-linux-next 2012-01-11 15:41:47 +01:00
lasat Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
lib mips: use the the PCI controller's io_map_base 2012-01-31 23:20:30 +02:00
loongson MIPS: irq: Remove IRQF_DISABLED 2011-12-07 22:03:45 +00:00
math-emu Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
mipssim Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
mm MIPS: DMA: For BMIPS5000 cores flush region just like non-coherent R10000 2013-12-20 07:34:19 -08:00
mti-malta Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
netlogic remove references to cpu_*_map in arch/ 2012-03-29 15:38:30 +10:30
oprofile
pci Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
pmc-sierra documentation: remove references to cpu_*_map. 2012-03-29 15:38:31 +10:30
pnx833x Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
pnx8550 MIPS: irq: Remove IRQF_DISABLED 2011-12-07 22:03:45 +00:00
power MIPS: Hibernate: Flush TLB entries in swsusp_arch_resume() 2014-05-13 14:11:29 +02:00
powertv Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
rb532 Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sgi-ip22 Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sgi-ip27 remove references to cpu_*_map in arch/ 2012-03-29 15:38:30 +10:30
sgi-ip32 Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sibyte documentation: remove references to cpu_*_map. 2012-03-29 15:38:31 +10:30
sni Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
txx9 MIPS: txx9 7segled fix struct device has no member 2012-02-20 18:33:18 +01:00
vr41xx Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
wrppmc
Kbuild
Kbuild.platforms
Kconfig MIPS: Expose missing pci_io{map,unmap} declarations 2013-08-20 08:26:27 -07:00
Kconfig.debug
Makefile kbuild: Fix gcc -x syntax 2012-10-13 05:38:37 +09:00