android_kernel_google_msm/arch
Hemmo Nieminen db6c390a25 MIPS: Fix kernel lockup or crash after CPU offline/online
commit c7754e75100ed5e3068ac5085747f2bfc386c8d6 upstream.

As printk() invocation can cause e.g. a TLB miss, printk() cannot be
called before the exception handlers have been properly initialized.
This can happen e.g. when netconsole has been loaded as a kernel module
and the TLB table has been cleared when a CPU was offline.

Call cpu_report() in start_secondary() only after the exception handlers
have been initialized to fix this.

Without the patch the kernel will randomly either lockup or crash
after a CPU is onlined and the console driver is a module.

Signed-off-by: Hemmo Nieminen <hemmo.nieminen@iki.fi>
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: David Daney <david.daney@cavium.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8953/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li <lizefan@huawei.com>
2015-04-14 17:33:59 +08:00
..
alpha vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
arm ARM: 8216/1: xscale: correct auxiliary register in suspend/resume 2015-04-14 17:33:37 +08:00
avr32 vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
blackfin blackfin: fix ifdef fustercluck in mach-bf538/boards/ezkit.c 2012-04-26 14:46:51 -04:00
c6x irq: Kill pointless irqd_to_hw export 2012-04-10 22:39:17 -06:00
cris vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
frv vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
h8300 signal: Define __ARCH_HAS_SA_RESTORER so we know whether to clear sa_restorer 2013-04-05 10:04:14 -07:00
hexagon hexagon: add missing cpu.h include 2012-04-23 12:57:24 -05:00
ia64 vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
m32r vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
m68k vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
microblaze vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
mips MIPS: Fix kernel lockup or crash after CPU offline/online 2015-04-14 17:33:59 +08:00
mn10300 vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
openrisc vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
parisc vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
powerpc move d_rcu from overlapping d_child to overlapping d_alias 2015-04-14 17:33:58 +08:00
s390 vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
score vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
sh vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
sparc vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
tile vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
um vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
unicore32 UniCore32-bugfix: fix mismatch return value of __xchg_bad_pointer 2014-09-25 11:49:18 +08:00
x86 x86, mm/ASLR: Fix stack randomization on 64-bit systems 2015-04-14 17:33:58 +08:00
xtensa vm: add VM_FAULT_SIGSEGV handling support 2015-04-14 17:33:57 +08:00
.gitignore
Kconfig