Re: [PATCH] boot_cpu_data corruption on SMP x86

Maciej W. Rozycki (macro@ds2.pg.gda.pl)
Fri, 22 Mar 2002 00:36:02 +0100 (MET)


On Thu, 21 Mar 2002, Mikael Pettersson wrote:

> > 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".

boot_cpu_data is initialized and then copied to cpu_data for each CPU
booted. If say the BSP supports cpuid but an AP does not (possible for an
i486 setup), leftover values will be stored for the AP incorrectly.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

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