Commit 53b3aa6c authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Don't panic in mpparse on x86-64

From: Andi Kleen <ak@muc.de>

Merge i386 fix. Don't panic in MP table parsing when the table is bad.
parent ca981c9f
...@@ -226,7 +226,7 @@ static int __init smp_read_mpc(struct mp_config_table *mpc) ...@@ -226,7 +226,7 @@ static int __init smp_read_mpc(struct mp_config_table *mpc)
unsigned char *mpt=((unsigned char *)mpc)+count; unsigned char *mpt=((unsigned char *)mpc)+count;
if (memcmp(mpc->mpc_signature,MPC_SIGNATURE,4)) { if (memcmp(mpc->mpc_signature,MPC_SIGNATURE,4)) {
panic("SMP mptable: bad signature [%c%c%c%c]!\n", printk("SMP mptable: bad signature [%c%c%c%c]!\n",
mpc->mpc_signature[0], mpc->mpc_signature[0],
mpc->mpc_signature[1], mpc->mpc_signature[1],
mpc->mpc_signature[2], mpc->mpc_signature[2],
...@@ -234,7 +234,7 @@ static int __init smp_read_mpc(struct mp_config_table *mpc) ...@@ -234,7 +234,7 @@ static int __init smp_read_mpc(struct mp_config_table *mpc)
return 0; return 0;
} }
if (mpf_checksum((unsigned char *)mpc,mpc->mpc_length)) { if (mpf_checksum((unsigned char *)mpc,mpc->mpc_length)) {
panic("SMP mptable: checksum error!\n"); printk("SMP mptable: checksum error!\n");
return 0; return 0;
} }
if (mpc->mpc_spec!=0x01 && mpc->mpc_spec!=0x04) { if (mpc->mpc_spec!=0x01 && mpc->mpc_spec!=0x04) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment