From e7d92145f369926157d7299da0d44ae210ba3157 Mon Sep 17 00:00:00 2001 From: Alexander Sverdlin Date: Wed, 21 Sep 2011 09:51:40 +0200 Subject: [PATCH] --- yaml --- r: 264021 b: refs/heads/master c: 808bf29b9195c52239b9aaeda7c6082a0ddf07c6 h: refs/heads/master i: 264019: 8bcb61e3534e5ee77d192dfd205820fa0f05a03b v: v3 --- [refs] | 2 +- trunk/init/main.c | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index bdc64a4edacb..9e42c0ec2e21 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 32ef43848f283e0ef945d3c67e851c143fea3970 +refs/heads/master: 808bf29b9195c52239b9aaeda7c6082a0ddf07c6 diff --git a/trunk/init/main.c b/trunk/init/main.c index 9c51ee7adf3d..2a9b88aa5e76 100644 --- a/trunk/init/main.c +++ b/trunk/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);