linux_dsm_epyc7002/arch/mips/kernel
Markos Chandras ab6c15bc66 MIPS: MSC: Prevent out-of-bounds writes to MIPS SC ioremap'd region
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: stable@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7118/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2014-06-26 10:48:23 +01:00
..
.gitignore
8250-platform.c
asm-offsets.c Revert "MIPS: Save/restore MSA context around signals" 2014-06-26 10:48:18 +01:00
binfmt_elfn32.c
binfmt_elfo32.c
bmips_vec.S
branch.c Merge branch '3.15-fixes' into mips-for-linux-next 2014-06-04 22:53:02 +02:00
cevt-bcm1480.c
cevt-ds1287.c
cevt-gic.c MIPS: allow GIC clockevent device config from other CPUs 2014-05-02 16:39:11 +01:00
cevt-gt641xx.c
cevt-r4k.c Merge branch 'wip-mips-pm' of https://github.com/paulburton/linux into mips-for-linux-next 2014-05-29 15:08:23 +02:00
cevt-sb1250.c
cevt-txx9.c
cps-vec.S MIPS: smp-cps: duplicate core0 CCA on secondary cores 2014-05-28 16:20:33 +01:00
cpu-bugs64.c
cpu-probe.c MIPS: Add function get_ebase_cpunum 2014-05-30 21:01:11 +02:00
crash_dump.c
crash.c
csrc-bcm1480.c
csrc-gic.c
csrc-ioasic.c
csrc-r4k.c
csrc-sb1250.c
early_printk_8250.c
early_printk.c
entry.S MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
ftrace.c Most of the changes were largely clean ups, and some documentation. 2014-04-03 10:26:31 -07:00
genex.S MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
gpio_txx9.c
head.S MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
i8253.c
i8259.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
idle.c Merge branch 'wip-mips-pm' of https://github.com/paulburton/linux into mips-for-linux-next 2014-05-29 15:08:23 +02:00
irq_cpu.c
irq_txx9.c
irq-gic.c MIPS: allow GIC clockevent device config from other CPUs 2014-05-02 16:39:11 +01:00
irq-gt641xx.c
irq-msc01.c MIPS: MSC: Prevent out-of-bounds writes to MIPS SC ioremap'd region 2014-06-26 10:48:23 +01:00
irq-rm7000.c
irq.c Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-06-09 18:10:34 -07:00
jump_label.c
kgdb.c
kprobes.c
linux32.c
machine_kexec.c
Makefile MIPS: OCTEON: Enable use of FPU 2014-05-30 21:01:09 +02:00
mcount.S
mips_ksyms.c
mips_machine.c
mips-cm.c
mips-cpc.c MIPS: smp-cps: rework core/VPE initialisation 2014-05-28 16:20:28 +01:00
mips-mt-fpaff.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
mips-mt.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
module-rela.c
module.c
octeon_switch.S MIPS: OCTEON: Enable use of FPU 2014-05-30 21:01:09 +02:00
perf_event_mipsxx.c
perf_event.c
pm-cps.c MIPS: pm-cps: convert smp_mb__*() 2014-06-16 12:47:47 +01:00
pm.c MIPS: PM: Implement PM helper macros 2014-05-02 16:39:10 +01:00
proc.c Revert "MIPS: MT: proc: Add support for printing VPE and TC ids" 2014-05-13 00:29:33 +02:00
process.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
prom.c mips: convert fdt pointers to opaque pointers 2014-04-30 00:59:13 -05:00
ptrace32.c
ptrace.c MIPS: ptrace: Avoid smp_processor_id() in preemptible code 2014-05-28 10:54:41 +02:00
r4k_fpu.S Revert "MIPS: Save/restore MSA context around signals" 2014-06-26 10:48:18 +01:00
r4k_switch.S MIPS: OCTEON: Enable use of FPU 2014-05-30 21:01:09 +02:00
r2300_fpu.S
r2300_switch.S
r6000_fpu.S
relocate_kernel.S
reset.c
rtlx-cmp.c
rtlx-mt.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
rtlx.c
scall32-o32.S MIPS: Wire up renameat2 syscall. 2014-05-13 17:57:33 +02:00
scall64-64.S MIPS: Wire up renameat2 syscall. 2014-05-13 17:57:33 +02:00
scall64-n32.S MIPS: Wire up renameat2 syscall. 2014-05-13 17:57:33 +02:00
scall64-o32.S MIPS: Wire up renameat2 syscall. 2014-05-13 17:57:33 +02:00
segment.c
setup.c
signal32.c Revert "MIPS: Save/restore MSA context around signals" 2014-06-26 10:48:18 +01:00
signal_n32.c
signal-common.h
signal.c Revert "MIPS: Save/restore MSA context around signals" 2014-06-26 10:48:18 +01:00
smp-bmips.c MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
smp-cmp.c MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
smp-cps.c MIPS: smp-cps: Convert smp_mb__after_atomic_dec() 2014-06-16 12:47:47 +01:00
smp-gic.c cpuidle: cpuidle-cps: add MIPS CPS cpuidle driver 2014-05-28 16:20:36 +01:00
smp-mt.c MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
smp-up.c MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
smp.c Merge branch 'wip-mips-pm' of https://github.com/paulburton/linux into mips-for-linux-next 2014-05-29 15:08:23 +02:00
spinlock_test.c
spram.c
stacktrace.c
sync-r4k.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
syscall.c
time.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
topology.c
traps.c Merge branch '3.15-fixes' into mips-for-linux-next 2014-06-04 22:53:02 +02:00
unaligned.c
vdso.c
vmlinux.lds.S
vpe-cmp.c
vpe-mt.c MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
vpe.c
watch.c