Re: PROBLEM: APIC on a Pentium Classic SMP, 2.4.21-pre2 and 2.4.21-pre3 ksymoops

From: Maciej W. Rozycki
Date: Wed Sep 10 2003 - 12:02:35 EST


On Wed, 10 Sep 2003, Mikael Pettersson wrote:

> First I found one very strange thing in Mathieu's boot log:
>
> --- mpbug-2.4.20 Wed Sep 10 17:19:05 2003
> +++ mpbug-2.4.23-pre3 Wed Sep 10 17:18:44 2003
> ...
> +DMI not present.
> Intel MultiProcessor Specification v1.1
> Virtual Wire compatibility mode.
> Default MP configuration #6
>
> This means construct_default_ISA_mptable() still gets called.
> Ok so far.

Yep -- I've been aware of this.

> At this point I was thinking "memory corruption",
> and the following struck me:
>
> What used to be arrays (mp_irqs[] etc) are now pointers to
> memory which is sized and allocated by smp_read_mpc().
> In the case when construct_default_ISA_mptable() is called,
> smp_read_mpc() is _not_ called, the pointers never get initialised,
> and reads and writes of these arrays end up in la-la land.

Exactly.

> The fix would be to add allocation and initialisation of
> these pointers at the start of construct_default_ISA_mptable().

Possibly -- I haven't thought on how to fix it yet.

> I'll prepare a patch doing this sometime tomorrow.

Thanks a lot for taking care.

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

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