mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ard -kwaak- van Breemen <ard@telegraafnet.nl>
To: Andrew Morton <akpm@osdl.org>
Cc: Greg KH <greg@kroah.com>,
	"Zhang, Yanmin" <yanmin.zhang@intel.com>,
	Chuck Ebbert <76306.1226@compuserve.com>,
	Yinghai Lu <yinghai.lu@amd.com>,
	take@libero.it, agalanin@mera.ru, linux-kernel@vger.kernel.org,
	bugme-daemon@bugzilla.kernel.org,
	"Eric W. Biederman" <ebiederm@xmission.com>
Subject: [PATCH 2.6.20-rc2-git1] start_kernel: Test if irq's got enabled early, barf, and disable them again
Date: Sat, 30 Dec 2006 20:46:07 +0100	[thread overview]
Message-ID: <20061230194607.GT912@telegraafnet.nl> (raw)
In-Reply-To: <20061229154251.GR912@telegraafnet.nl>

The calls made by parse_parms to other initialization code might
enable interrupts again way too early.
Having interrupts on this early can make systems PANIC when they
initialize the IRQ controllers (which happens later in the code).
This patch detects that irq's are enabled again, barfs about it
and disables them again as a safety net.

Signed-off-by: Ard van Breemen <ard@telegraafnet.nl>

--- linux-2.6.20-rc2-git1/init/main.c.orig	2006-12-30 17:41:13.000000000 +0000
+++ linux-2.6.20-rc2-git1/init/main.c	2006-12-30 17:44:02.000000000 +0000
@@ -538,6 +538,10 @@ 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();

  reply	other threads:[~2006-12-30 19:46 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-22  4:41 [Bug 7505] Linux-2.6.18 fails to boot on AMD64 machine Zhang, Yanmin
2006-12-22  8:22 ` Ard -kwaak- van Breemen
2006-12-22  8:30   ` Andrew Morton
2006-12-22  9:32     ` Stefano Takekawa
2006-12-22  9:43       ` Andrew Morton
2006-12-22 13:23         ` Stefano Takekawa
2006-12-22 10:30     ` Ard -kwaak- van Breemen
2006-12-22 14:00       ` Ard -kwaak- van Breemen
2006-12-22 14:16         ` Ard -kwaak- van Breemen
2006-12-22 19:10           ` Andrew Morton
2006-12-22 14:35     ` Ard -kwaak- van Breemen
2006-12-29 15:08       ` Ard -kwaak- van Breemen
2006-12-22 14:41     ` Ard -kwaak- van Breemen
2006-12-22 15:42       ` Ard -kwaak- van Breemen
2006-12-28 23:51         ` Andrew Morton
2006-12-29 10:18           ` Stefano Takekawa
2006-12-29 12:51           ` Ard -kwaak- van Breemen
2006-12-29 13:27             ` Ard -kwaak- van Breemen
2006-12-29 14:10               ` Ard -kwaak- van Breemen
2006-12-29 15:01                 ` Ard -kwaak- van Breemen
2006-12-29 15:05                   ` Ard -kwaak- van Breemen
2006-12-29 15:24                   ` Ard -kwaak- van Breemen
2006-12-29 15:42                   ` Ard -kwaak- van Breemen
2006-12-30 19:46                     ` Ard -kwaak- van Breemen [this message]
2008-03-03 22:46                       ` [PATCH 2.6.20-rc2-git1] start_kernel: Test if irq's got enabled early, barf, and disable them again Tony Luck
2008-03-04  0:34                         ` Stephen Rothwell
2006-12-30 19:58                     ` [PATCH 2.6.20-rc2-git1] kernelparams: detect if and which parameter parsing enabled irq's Ard -kwaak- van Breemen
2006-12-30 20:15                     ` [PATCH 2.6.20-rc2-git1] PCI: prevent down_read when pci_devices is empty Ard -kwaak- van Breemen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061230194607.GT912@telegraafnet.nl \
    --to=ard@telegraafnet.nl \
    --cc=76306.1226@compuserve.com \
    --cc=agalanin@mera.ru \
    --cc=akpm@osdl.org \
    --cc=bugme-daemon@bugzilla.kernel.org \
    --cc=ebiederm@xmission.com \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=take@libero.it \
    --cc=yanmin.zhang@intel.com \
    --cc=yinghai.lu@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®