lkml.org 
[lkml]   [2008]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 09/15] ACPICA: Ignore ACPI table signature for Load() operator

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Bob Moore <robert.moore@intel.com>

    upstream bc45b1d39a925b56796bebf8a397a0491489d85c

    Without this patch booting with acpi_osi="!Windows 2006" is required
    for several machines to function properly with cpufreq
    due to failure to load a Vista specific table with a bad signature.

    Only "SSDT" is acceptable to the ACPI spec, but tables are
    seen with OEMx and null sigs. Therefore, signature validation
    is worthless. Apparently MS ACPI accepts such signatures, ACPICA
    must be compatible.

    http://bugzilla.kernel.org/show_bug.cgi?id=9919
    http://bugzilla.kernel.org/show_bug.cgi?id=10383
    http://bugzilla.kernel.org/show_bug.cgi?id=10454
    https://bugzilla.novell.com/show_bug.cgi?id=396311

    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Lin Ming <ming.m.lin@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/acpi/tables/tbinstal.c | 18 +++++++-----------
    1 file changed, 7 insertions(+), 11 deletions(-)

    --- a/drivers/acpi/tables/tbinstal.c
    +++ b/drivers/acpi/tables/tbinstal.c
    @@ -123,17 +123,13 @@ acpi_tb_add_table(struct acpi_table_desc
    }
    }

    - /* The table must be either an SSDT or a PSDT or an OEMx */
    -
    - if ((!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_PSDT))
    - &&
    - (!ACPI_COMPARE_NAME(table_desc->pointer->signature, ACPI_SIG_SSDT))
    - && (strncmp(table_desc->pointer->signature, "OEM", 3))) {
    - ACPI_ERROR((AE_INFO,
    - "Table has invalid signature [%4.4s], must be SSDT, PSDT or OEMx",
    - table_desc->pointer->signature));
    - return_ACPI_STATUS(AE_BAD_SIGNATURE);
    - }
    + /*
    + * Originally, we checked the table signature for "SSDT" or "PSDT" here.
    + * Next, we added support for OEMx tables, signature "OEM".
    + * Valid tables were encountered with a null signature, so we've just
    + * given up on validating the signature, since it seems to be a waste
    + * of code. The original code was removed (05/2008).
    + */

    (void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES);

    --


    \
     
     \ /
      Last update: 2008-06-19 23:37    [W:3.933 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site