diff options
author | OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> | 2006-03-31 05:30:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-31 15:18:53 -0500 |
commit | 9b41046cd0ee0a57f849d6e1363f7933e363cca9 (patch) | |
tree | 246820e9493770e071cb92a48e7f72d8b9c90a98 /drivers/video/console/fbcon.c | |
parent | 68eef3b4791572ecb70249c7fb145bb3742dd899 (diff) |
[PATCH] Don't pass boot parameters to argv_init[]
The boot cmdline is parsed in parse_early_param() and
parse_args(,unknown_bootoption).
And __setup() is used in obsolete_checksetup().
start_kernel()
-> parse_args()
-> unknown_bootoption()
-> obsolete_checksetup()
If __setup()'s callback (->setup_func()) returns 1 in
obsolete_checksetup(), obsolete_checksetup() thinks a parameter was
handled.
If ->setup_func() returns 0, obsolete_checksetup() tries other
->setup_func(). If all ->setup_func() that matched a parameter returns 0,
a parameter is seted to argv_init[].
Then, when runing /sbin/init or init=app, argv_init[] is passed to the app.
If the app doesn't ignore those arguments, it will warning and exit.
This patch fixes a wrong usage of it, however fixes obvious one only.
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/video/console/fbcon.c')
-rw-r--r-- | drivers/video/console/fbcon.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c index 041d06987861..d7351560f581 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c | |||
@@ -466,7 +466,7 @@ static int __init fb_console_setup(char *this_opt) | |||
466 | int i, j; | 466 | int i, j; |
467 | 467 | ||
468 | if (!this_opt || !*this_opt) | 468 | if (!this_opt || !*this_opt) |
469 | return 0; | 469 | return 1; |
470 | 470 | ||
471 | while ((options = strsep(&this_opt, ",")) != NULL) { | 471 | while ((options = strsep(&this_opt, ",")) != NULL) { |
472 | if (!strncmp(options, "font:", 5)) | 472 | if (!strncmp(options, "font:", 5)) |
@@ -481,10 +481,10 @@ static int __init fb_console_setup(char *this_opt) | |||
481 | options++; | 481 | options++; |
482 | } | 482 | } |
483 | if (*options != ',') | 483 | if (*options != ',') |
484 | return 0; | 484 | return 1; |
485 | options++; | 485 | options++; |
486 | } else | 486 | } else |
487 | return 0; | 487 | return 1; |
488 | } | 488 | } |
489 | 489 | ||
490 | if (!strncmp(options, "map:", 4)) { | 490 | if (!strncmp(options, "map:", 4)) { |
@@ -496,7 +496,7 @@ static int __init fb_console_setup(char *this_opt) | |||
496 | con2fb_map_boot[i] = | 496 | con2fb_map_boot[i] = |
497 | (options[j++]-'0') % FB_MAX; | 497 | (options[j++]-'0') % FB_MAX; |
498 | } | 498 | } |
499 | return 0; | 499 | return 1; |
500 | } | 500 | } |
501 | 501 | ||
502 | if (!strncmp(options, "vc:", 3)) { | 502 | if (!strncmp(options, "vc:", 3)) { |
@@ -518,7 +518,7 @@ static int __init fb_console_setup(char *this_opt) | |||
518 | rotate = 0; | 518 | rotate = 0; |
519 | } | 519 | } |
520 | } | 520 | } |
521 | return 0; | 521 | return 1; |
522 | } | 522 | } |
523 | 523 | ||
524 | __setup("fbcon=", fb_console_setup); | 524 | __setup("fbcon=", fb_console_setup); |