Re: invalid SMP mptable on Toshiba Satellite 2430-301

From: Linus Torvalds
Date: Thu Nov 13 2003 - 11:42:05 EST



On Thu, 13 Nov 2003, Jochen Voss wrote:
>
> smp_read_mpc(arch/i386/kernel/mpparse.c):
> The argument mpc points to a 'struct mp_config_table',
> which is filled with zero bytes (compare memory dump
> below).
> The 'if (memcmp(mpc->mpc_signature,MPC_SIGNATURE,4))' test
> fails because of this and calls 'panic'.
> The kernel never returns from the call to 'panic'.
>
> Herbert Xu produced a patch, which converts the crash into an error
> message, so the symptoms are cured for me.

Ok. That panic is obviously crud from a lazy initial developer, and yes,
it's always silly (and very very wrong) to crash if you can just continue.

Can you send the (tested) patch over?

> Now for my questions: As far as I can see it, the invalid
> SMP mptable is a BIOS bug on my machine. Do you think so,
> too? Or are there other possibilities?

I think it's a Linux bug too, although I'll agree that it was triggered by
some really bad BIOS behaviour. I bet the laptop vendor doesn't care: they
probably depend on ACPI to set the thing up on Windows, and Windows is
likely to just ignore the MP table (properly) when it doesn't need it (or
when it is corrupt).

> Do you think it would be helpful to contact Toshiba (my
> laptop's vendor) about this?

I really think that the Linux behaviour i smore of a bug than the BIOS
behaviour. There's no excuse for panicing just because some signature
for a data block that we don't even strictly need isn't there.

Linus

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