[PATCH] start_kernel: test if irq's got enabled early, barf, and disable them again
Changes
1 files changed · +5 −0
| File | Status | Add | Del | Content |
|---|---|---|---|---|
| init/main.c | modified | +5 | −0 | View file |
init/main.c
View filediff --git a/init/main.c b/init/main.c
index 2b1cdaa..bc27d72 100644
--- a/init/main.c
+++ b/init/main.c
@@ -538,6 +538,11 @@ asmlinkage void __init start_kernel(void)
parse_args("Booting kernel", command_line, __start___param,
__stop___param - __start___param,
&unknown_bootoption);
+ if (!irqs_disabled()) {
+ printk(KERN_WARNING "start_kernel(): bug: interrupts were "
+ "enabled *very* early, fixing it\n");
+ local_irq_disable();
+ }
sort_main_extable();
trap_init();
rcu_init();