printk: Fix scheduling-while-atomic problem in console_cpu_notify()
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 16 Oct 2012 04:35:59 +0000 (21:35 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 1 Apr 2014 23:59:00 +0000 (00:59 +0100)
commitd8db5f989887fe1d37757d02caf47cbc6cc49199
treee1e9b0fe09e3b81f368b52c21bcb7541842cadae
parent7f4d7e8fe42d3a34994055355694236f489c874f
printk: Fix scheduling-while-atomic problem in console_cpu_notify()

commit 85eae82a0855d49852b87deac8653e4ebc8b291f upstream.

The console_cpu_notify() function runs with interrupts disabled in the
CPU_DYING case.  It therefore cannot block, for example, as will happen
when it calls console_lock().  Therefore, remove the CPU_DYING leg of
the switch statement to avoid this problem.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
kernel/printk.c