2006-12-13 05:54:53

by Shaohua Li

[permalink] [raw]
Subject: Parse boot parameter error?

Say a boot parameter is "xxx", if you give a string "xxxy", then the
boot parameter's corresponding function is executed. Is this intended?
If not, below patch fixes it.

diff --git a/init/main.c b/init/main.c
index 036f97c..d56940c 100644
--- a/init/main.c
+++ b/init/main.c
@@ -193,7 +193,8 @@ static int __init obsolete_checksetup(ch
p = __setup_start;
do {
int n = strlen(p->str);
- if (!strncmp(line, p->str, n)) {
+ if (((!strncmp(line, p->str, n)) && (p->str[n-1] == '='))
+ || !strcmp(line, p->str)) {
if (p->early) {
/* Already done in parse_early_param?
* (Needs exact match on param part).