Re: [PATCH 1/4] stack overflow safe kdump (2.6.18-rc1-i386) -safe_smp_processor_id

From: Fernando Luis Vázquez Cao
Date: Wed Jul 12 2006 - 02:57:28 EST


On Tue, 2006-07-11 at 23:46 -0700, Andrew Morton wrote:
> On Tue, 11 Jul 2006 15:05:18 +0900
> Fernando Luis VÃzquez Cao <fernando@xxxxxxxxxxxxx> wrote:
> > ...
>
> With CONFIG_SMP=n:
>
> arch/i386/kernel/crash.c: In function 'crash_save_self':
> arch/i386/kernel/crash.c:91: warning: implicit declaration of function 'safe_smp_processor_id'
>
> And it fails to link.
Thank you for catching this! I had only tried i386-SMP and voyager-SMP
configurations. I will try several UP configurations and see if it
compiles properly.

Sorry for the trouble.

- Fernando

> > --- linux-2.6.18-rc1/include/asm-i386/smp.h 2006-07-11 10:11:44.000000000 +0900
> > +++ linux-2.6.18-rc1-sof/include/asm-i386/smp.h 2006-07-11 14:05:28.000000000 +0900
> > @@ -89,12 +89,14 @@ static __inline int logical_smp_processo
> >
> > #endif
> >
> > +extern int safe_smp_processor_id(void);
> > extern int __cpu_disable(void);
> > extern void __cpu_die(unsigned int cpu);
> > #endif /* !__ASSEMBLY__ */
> >
> > #else /* CONFIG_SMP */
> >
> > +#define safe_smp_processor_id() 0
> > #define cpu_physical_id(cpu) boot_cpu_physical_apicid
> >
> > #define NO_PROC_ID 0xFF /* No processor magic marker */
>
> The reason for this is that include/linux/smp.h only includes asm/smp.h if
> CONFIG_SMP=y. This is not the cleverest thing we've ever done.
>
> I fixed that in cowardly fashion:
>
>
> --- a/arch/i386/kernel/crash.c~stack-overflow-safe-kdump-crash_use_safe_smp_processor_id-fix
> +++ a/arch/i386/kernel/crash.c
> @@ -23,6 +23,7 @@
> #include <asm/hw_irq.h>
> #include <asm/apic.h>
> #include <asm/kdebug.h>
> +#include <asm/smp.h>
>
> #include <mach_ipi.h>
>
> _
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/