diff options
Diffstat (limited to 'init/main.c')
| -rw-r--r-- | init/main.c | 15 | 
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);  |