Re: [PATCH 1/5] ACPI, APEI, Fix APEI related table size checking

From: Andi Kleen
Date: Tue Sep 21 2010 - 08:40:04 EST


On Sun, Sep 19, 2010 at 11:00:31AM +0800, Huang Ying wrote:
> From: Yinghai Lu <yinghai@xxxxxxxxxx>
>
> Both ERST and EINJ table size checking is fixed.

Needs a better description.
> ---
> drivers/acpi/apei/einj.c | 3 ++-
> drivers/acpi/apei/erst.c | 3 ++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c
> index 465c885..b184baa 100644
> --- a/drivers/acpi/apei/einj.c
> +++ b/drivers/acpi/apei/einj.c
> @@ -426,7 +426,8 @@ DEFINE_SIMPLE_ATTRIBUTE(error_inject_fops, NULL,
>
> static int einj_check_table(struct acpi_table_einj *einj_tab)
> {
> - if (einj_tab->header_length != sizeof(struct acpi_table_einj))
> + if (einj_tab->header_length !=
> + (sizeof(struct acpi_table_einj) - sizeof(einj_tab->header)))

I don't understand these changes. So on any system where the old check worked
before it won't work anymore? Since the code has been presumably tested
before this would break systems, won't it?

Same with the other changes.

-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
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/