From: Ingo Molnar <mingo@elte.hu>
To: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
"H. Peter Anvin" <hpa@zytor.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org
Subject: Re: x86: fix macro with bad_bios_dmi_table
Date: Tue, 23 Sep 2008 10:16:50 +0200 [thread overview]
Message-ID: <20080923081650.GA19003@elte.hu> (raw)
In-Reply-To: <1222155333-18247-1-git-send-email-yhlu.kernel@gmail.com>
* Yinghai Lu <yhlu.kernel@gmail.com> wrote:
> need one blank tail.
>
> fix the crash on ingo's test box.
applied to tip/x86/memory-corruption-check, thanks Yinghai!
> --- a/arch/x86/kernel/setup.c
> +++ b/arch/x86/kernel/setup.c
> @@ -760,8 +760,8 @@ static struct dmi_system_id __initdata bad_bios_dmi_table[] = {
> DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies, LTD"),
> },
> },
> - {}
> #endif
> + {}
> };
i've seen such DMI crashes numerous times, caused by a missing NULL at
the end of the table. Is there no sane way to detect or robustly avoid
such run-off-the-end bugs?
how about changing dmi_check_system(table) to a macro, which does
something like:
__dmi_check_system(&(table), sizeof(table))
and rename dmi_check_system() in drivers/firmware/dmi_scan.c to
__dmi_check_system() and add the size parameter? That way we could
remove the need for NULL termination and it's even a size optimization:
it shrinks those tables a tiny bit.
Ingo
next prev parent reply other threads:[~2008-09-23 8:17 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-23 7:35 x86: fix macro with bad_bios_dmi_table Yinghai Lu
2008-09-23 8:16 ` Ingo Molnar [this message]
2008-09-23 8:30 ` Yinghai Lu
2008-09-23 8:33 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080923081650.GA19003@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=yhlu.kernel@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.