MIPS: Loongson-3: Fix a cpu-hotplug issue in loongson3_ipi_interrupt()
authorHuacai Chen <chenhc@lemote.com>
Thu, 4 Jun 2015 06:53:47 +0000 (14:53 +0800)
committerRalf Baechle <ralf@linux-mips.org>
Sat, 6 Jun 2015 08:21:10 +0000 (10:21 +0200)
commite1fb96e064e7157920f043f40ae801a5c18e57da
tree86df4259ada205a7cf700ca0ed3a70486e262697
parent5f35b9cd553fd64415b563497d05a563c988dbd6
MIPS: Loongson-3: Fix a cpu-hotplug issue in loongson3_ipi_interrupt()

setup_per_cpu_areas() only setup __per_cpu_offset[] for each possible
cpu, but loongson_sysconf.nr_cpus can be greater than possible cpus
(due to reserved_cpus_mask). So in loongson3_ipi_interrupt(), percpu
access will touch the original varible in .data..percpu section which
has been freed. Without this patch, cpu-hotplug will cause memery
corruption.

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Cc: John Crispin <john@phrozen.org>
Cc: Steven J. Hill <Steven.Hill@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Fuxin Zhang <zhangfx@lemote.com>
Cc: Zhangjin Wu <wuzhangjin@gmail.com>
Patchwork: http://patchwork.linux-mips.org/patch/10524/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/loongson/loongson-3/smp.c