[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20061230195843.GU912@telegraafnet.nl>
Date: Sat, 30 Dec 2006 20:58:43 +0100
From: Ard -kwaak- van Breemen <ard@...egraafnet.nl>
To: Andrew Morton <akpm@...l.org>
Cc: Greg KH <greg@...ah.com>, "Zhang, Yanmin" <yanmin.zhang@...el.com>,
Chuck Ebbert <76306.1226@...puserve.com>,
Yinghai Lu <yinghai.lu@....com>, take@...ero.it,
agalanin@...a.ru, linux-kernel@...r.kernel.org,
bugme-daemon@...zilla.kernel.org,
"Eric W. Biederman" <ebiederm@...ssion.com>
Subject: [PATCH 2.6.20-rc2-git1] kernelparams: detect if and which parameter parsing enabled irq's
The parsing of some kernel parameters seem to enable irq's at a
stage that irq's are not supposed to be enabled (Particularly the
ide kernel parameters). Having irq's enabled before the irq
controller is initialized might lead to a kernel panic.
This patch only detects this behaviour and warns about wich
parameter caused it.
Signed-off-by: Ard van Breemen <ard@...egraafnet.nl>
--- linux-2.6.19.vanilla/kernel/params.c 2006-11-29 21:57:37.000000000 +0000
+++ linux-2.6.19.ok/kernel/params.c 2006-12-29 15:14:26.000000000 +0000
@@ -143,9 +143,14 @@ int parse_args(const char *name,
while (*args) {
int ret;
+ int irq_was_disabled;
args = next_arg(args, ¶m, &val);
+ irq_was_disabled=irqs_disabled();
ret = parse_one(param, val, params, num, unknown);
+ if(irq_was_disabled && !irqs_disabled()) {
+ printk(KERN_WARNING "parse_args(): option '%s' enabled irq's!\n",param);
+ }
switch (ret) {
case -ENOENT:
printk(KERN_ERR "%s: Unknown parameter `%s'\n",
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists