Re: [PATCH] boot_cpu_data corruption on SMP x86

Mikael Pettersson (mikpe@csd.uu.se)
Thu, 21 Mar 2002 22:17:24 +0100 (MET)


On Thu, 21 Mar 2002 21:01:39 +0100 (MET), Maciej W. Rozycki wrote:
>On Thu, 14 Mar 2002, Mikael Pettersson wrote:
>
>> --- linux-2.4.19-pre3/arch/i386/kernel/head.S.~1~ Tue Feb 26 13:26:56 2002
>> +++ linux-2.4.19-pre3/arch/i386/kernel/head.S Thu Mar 14 16:20:57 2002
>> @@ -178,7 +178,7 @@
>> * we don't need to preserve eflags.
>> */
>>
>> - movl $3,X86 # at least 386
>> + movb $3,X86 # at least 386
>...
>
> This is broken -- these word stores assure a proper initialization on
>pre-CPUID processors.

boot_cpu_data is a static-extent object with an explicit initialiser
(i.e., ".data") in setup.c in 2.2.21rc2, 2.4.19-pre4, and 2.5.7.
Any further "initialisation" by APs is called "clobbering".

/Mikael
-
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/