Re: [PATCH 4/4] ACPI: Make sure the FADT is at least rev 2 beforeusing the reset register

From: Len Brown
Date: Wed Mar 23 2011 - 00:02:04 EST



On Fri, 11 Mar 2011, Matthew Garrett wrote:

> The reset register was only introduced with version 2 of the FADT, so we
> should check that the FADT revision before trusting its contents.
>
> Signed-off-by: Matthew Garrett <mjg@xxxxxxxxxx>
> ---
> drivers/acpi/reboot.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/acpi/reboot.c b/drivers/acpi/reboot.c
> index 4870aaa..a6c77e8b 100644
> --- a/drivers/acpi/reboot.c
> +++ b/drivers/acpi/reboot.c
> @@ -15,6 +15,11 @@ void acpi_reboot(void)
>
> rr = &acpi_gbl_FADT.reset_register;
>
> + /* ACPI reset register was only introduced with v2 of the FADT */
> +
> + if (acpi_gbl_FADT.header.revision < 2)
> + return;
> +

Isn't this check redundant with the check just below this hunk?

> /* Is the reset register supported? The spec says we should be
> * checking the bit width and bit offset, but Windows ignores
> * these fields */


if (!(acpi_gbl_FADT.flags & ACPI_FADT_RESET_REGISTER))
return;

For it not to be redundant, there would have to be FADTs out there
of revision 1 that set what was then a reserved bit in the flags.

thanks,
Len Brown, Intel Open Source Technology Center

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