[PATCH] Fix scheduling-while-atomic problem in console_cpu_notify()

From: Paul E. McKenney
Date: Mon Oct 15 2012 - 20:31:25 EST


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

Signed-off-by: Paul E. McKenney <paul.mckenney@xxxxxxxxxx>

diff --git a/kernel/printk.c b/kernel/printk.c
index 66a2ea3..8e23a14 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -1889,7 +1889,6 @@ static int __cpuinit console_cpu_notify(struct notifier_block *self,
{
switch (action) {
case CPU_ONLINE:
- case CPU_DEAD:
case CPU_DYING:
case CPU_DOWN_FAILED:
case CPU_UP_CANCELED:

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/