diff -urp linux-2.6.0-test3-clean/include/asm-i386/mach-bigsmp/mach_apic.h linux-2.6.0-test3-work/include/asm-i386/mach-bigsmp/mach_apic.h --- linux-2.6.0-test3-clean/include/asm-i386/mach-bigsmp/mach_apic.h Wed Aug 20 19:54:32 2003 +++ linux-2.6.0-test3-work/include/asm-i386/mach-bigsmp/mach_apic.h Wed Aug 20 20:23:52 2003 @@ -98,6 +98,8 @@ extern u8 cpu_2_logical_apicid[]; /* Mapping from cpu number to logical apicid */ static inline int cpu_to_logical_apicid(int cpu) { + if (cpu >= NR_CPUS) + return BAD_APICID; return (int)cpu_2_logical_apicid[cpu]; } diff -urp linux-2.6.0-test3-clean/include/asm-i386/mach-es7000/mach_apic.h linux-2.6.0-test3-work/include/asm-i386/mach-es7000/mach_apic.h --- linux-2.6.0-test3-clean/include/asm-i386/mach-es7000/mach_apic.h Wed Aug 20 19:54:32 2003 +++ linux-2.6.0-test3-work/include/asm-i386/mach-es7000/mach_apic.h Wed Aug 20 20:23:56 2003 @@ -123,6 +123,8 @@ extern u8 cpu_2_logical_apicid[]; /* Mapping from cpu number to logical apicid */ static inline int cpu_to_logical_apicid(int cpu) { + if (cpu >= NR_CPUS) + return BAD_APICID; return (int)cpu_2_logical_apicid[cpu]; } diff -urp linux-2.6.0-test3-clean/include/asm-i386/mach-numaq/mach_apic.h linux-2.6.0-test3-work/include/asm-i386/mach-numaq/mach_apic.h --- linux-2.6.0-test3-clean/include/asm-i386/mach-numaq/mach_apic.h Wed Aug 20 19:54:32 2003 +++ linux-2.6.0-test3-work/include/asm-i386/mach-numaq/mach_apic.h Wed Aug 20 20:23:59 2003 @@ -60,6 +60,8 @@ static inline physid_mask_t ioapic_phys_ extern u8 cpu_2_logical_apicid[]; static inline int cpu_to_logical_apicid(int cpu) { + if (cpu >= NR_CPUS) + return BAD_APICID; return (int)cpu_2_logical_apicid[cpu]; } diff -urp linux-2.6.0-test3-clean/include/asm-i386/mach-summit/mach_apic.h linux-2.6.0-test3-work/include/asm-i386/mach-summit/mach_apic.h --- linux-2.6.0-test3-clean/include/asm-i386/mach-summit/mach_apic.h Wed Aug 20 19:54:32 2003 +++ linux-2.6.0-test3-work/include/asm-i386/mach-summit/mach_apic.h Wed Aug 20 20:24:03 2003 @@ -80,6 +80,8 @@ static inline int apicid_to_node(int log extern u8 cpu_2_logical_apicid[]; static inline int cpu_to_logical_apicid(int cpu) { + if (cpu >= NR_CPUS) + return BAD_APICID; return (int)cpu_2_logical_apicid[cpu]; }