From: William Lee Irwin III mpc_apicid is a u8, and MAX_APICS can be 256. arch/i386/kernel/mpparse.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN arch/i386/kernel/mpparse.c~mpparse-warning-fix arch/i386/kernel/mpparse.c --- 25/arch/i386/kernel/mpparse.c~mpparse-warning-fix 2003-05-22 12:43:44.000000000 -0700 +++ 25-akpm/arch/i386/kernel/mpparse.c 2003-05-22 12:43:44.000000000 -0700 @@ -171,7 +171,7 @@ void __init MP_processor_info (struct mp num_processors++; - if (m->mpc_apicid > MAX_APICS) { + if (MAX_APICS - m->mpc_apicid <= 0) { printk(KERN_WARNING "Processor #%d INVALID. (Max ID: %d).\n", m->mpc_apicid, MAX_APICS); --num_processors; @@ -803,7 +803,7 @@ void __init mp_register_lapic ( struct mpc_config_processor processor; int boot_cpu = 0; - if (id >= MAX_APICS) { + if (MAX_APICS - id <= 0) { printk(KERN_WARNING "Processor #%d invalid (max %d)\n", id, MAX_APICS); return; _