Re: [PATCH] x86: kill arch/x86/kernel/mpparse.c debugging printk.

Cyrill Gorcunov
2008-08-11T16:45:25Z

[Rene Herman - Mon, Aug 11, 2008 at 05:45:53PM +0200]
> On 11-08-08 17:44, Rene Herman wrote:
>
>> One problem; on 32-bit, "apic=" is a __setup() param and isn't actually
>> early enough for us here so this needs it turned into an early_param()
>> (followup).
>
> Ie:
>
> Rene.

| From 9655f5ab2537ecd5c5d92b03840f3b6aeed441ad Mon Sep 17 00:00:00 2001
| From: Rene Herman <rene.herman@gmail.com>
| Date: Mon, 11 Aug 2008 17:35:41 +0200
| Subject: [PATCH] x86: make "apic" an early_param() on 32-bit
|
| On 32-bit, "apic" is a __setup() param meaning it is parsed rather
| late in the game. Make it an early_param() for apic_printk() use
| by arch/x86/kernel/mpparse.c.
|
| On 64-bit, it already is an early_param().
|
| Signed-off-by: Rene Herman <rene.herman@gmail.com>
| ---
| arch/x86/kernel/apic_32.c | 4 ++--
| 1 files changed, 2 insertions(+), 2 deletions(-)
|
| diff --git a/arch/x86/kernel/apic_32.c b/arch/x86/kernel/apic_32.c
| index d6c8983..f432d48 100644
| --- a/arch/x86/kernel/apic_32.c
| +++ b/arch/x86/kernel/apic_32.c
| @@ -1726,9 +1726,9 @@ static int __init apic_set_verbosity(char *str)
| apic_verbosity = APIC_DEBUG;
| else if (strcmp("verbose", str) == 0)
| apic_verbosity = APIC_VERBOSE;
| - return 1;
| + return 0;
| }
| -__setup("apic=", apic_set_verbosity);
| +early_param("apic", apic_set_verbosity);
|
| static int __init lapic_insert_resource(void)
| {
| --
| 1.5.5
|

Hi Rene,

you turned it into early_param so now it's NULL injecting vulnerabled.
Could you please add checking for NULL str param?

- Cyrill -