Re: arch/i386/kernel/mpparse.c warning fixes

William Lee Irwin III (wli@holomorphy.com)
Thu, 22 May 2003 09:23:05 -0700


William Lee Irwin III writes:
>> - 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;

On Thu, May 22, 2003 at 06:07:43PM +0200, mikpe@csd.uu.se wrote:
> Eeew. Whatever the original problem is, this "fix" is just too
> obscure and ugly.

m->mpc_apicid is an 8-bit type; MAX_APICS can be 256. The above fix
properly compares two integral expressions of equal width.

Also, as MAX_APICS-1 is reserved for the broadcast physical APIC ID
(it's 0xF for serial APIC and 0xFF for xAPIC) the small semantic change
here is correct.

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