summaryrefslogtreecommitdiffstats
path: root/init/main.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2011-10-07 23:07:41 +0200
committerArnd Bergmann <arnd@arndb.de>2011-10-07 23:07:41 +0200
commit8efc59ad6764ade520012cb192cd484e5191cd9c (patch)
treed2465d91ebb2652e35cd08f715fc202b3f9e042a /init/main.c
parent6f6184a9d01880a3e21349544f73b3720ce5e152 (diff)
parent492c4a0df11573e141a2decc6012b3bddd14a11e (diff)
Merge branch 'sirf/cleanup' into next/cleanup
Diffstat (limited to 'init/main.c')
-rw-r--r--init/main.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/init/main.c b/init/main.c
index 9c51ee7adf3..2a9b88aa5e7 100644
--- a/init/main.c
+++ b/init/main.c
@@ -209,8 +209,19 @@ early_param("quiet", quiet_kernel);
static int __init loglevel(char *str)
{
- get_option(&str, &console_loglevel);
- return 0;
+ int newlevel;
+
+ /*
+ * Only update loglevel value when a correct setting was passed,
+ * to prevent blind crashes (when loglevel being set to 0) that
+ * are quite hard to debug
+ */
+ if (get_option(&str, &newlevel)) {
+ console_loglevel = newlevel;
+ return 0;
+ }
+
+ return -EINVAL;
}
early_param("loglevel", loglevel);