[PATCH] Don't pass boot parameters to argv_init[]
authorOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Fri, 31 Mar 2006 10:30:33 +0000 (02:30 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 31 Mar 2006 20:18:53 +0000 (12:18 -0800)
commit9b41046cd0ee0a57f849d6e1363f7933e363cca9
tree246820e9493770e071cb92a48e7f72d8b9c90a98
parent68eef3b4791572ecb70249c7fb145bb3742dd899
[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>
32 files changed:
arch/alpha/kernel/core_marvel.c
arch/i386/kernel/apic.c
arch/i386/kernel/cpu/mcheck/mce.c
arch/i386/kernel/io_apic.c
arch/i386/kernel/traps.c
arch/powerpc/kernel/crash_dump.c
arch/sh/kernel/cpu/init.c
arch/x86_64/kernel/apic.c
arch/x86_64/kernel/early_printk.c
arch/x86_64/kernel/mce.c
arch/x86_64/kernel/pmtimer.c
arch/x86_64/kernel/setup.c
arch/x86_64/kernel/setup64.c
arch/x86_64/kernel/smpboot.c
arch/x86_64/kernel/time.c
arch/x86_64/kernel/traps.c
arch/x86_64/mm/fault.c
block/elevator.c
drivers/acpi/ec.c
drivers/block/amiflop.c
drivers/media/video/cpia_pp.c
drivers/net/netconsole.c
drivers/net/pcmcia/xirc2ps_cs.c
drivers/pcmcia/vrc4171_card.c
drivers/pcmcia/vrc4173_cardu.c
drivers/scsi/ibmmca.c
drivers/video/console/fbcon.c
drivers/video/console/sticore.c
drivers/video/fbmem.c
drivers/video/stifb.c
kernel/audit.c
mm/memory.c