Skip to content

Commit

Permalink
ACPICA: Fix table compare code, length then data
Browse files Browse the repository at this point in the history
Split the ACPI table compare. First check that the lengths match
exactly. Then compare the data.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Bob Moore authored and Len Brown committed Oct 23, 2008
1 parent 9db4fcd commit a6f3053
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions drivers/acpi/tables/tbinstal.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,6 @@ acpi_status
acpi_tb_add_table(struct acpi_table_desc *table_desc, u32 *table_index)
{
u32 i;
u32 length;
acpi_status status = AE_OK;

ACPI_FUNCTION_TRACE(tb_add_table);
Expand Down Expand Up @@ -145,13 +144,18 @@ acpi_tb_add_table(struct acpi_table_desc *table_desc, u32 *table_index)
}
}

/* Check for a table match on the entire table length */
/*
* Check for a table match on the entire table length,
* not just the header.
*/
if (table_desc->length !=
acpi_gbl_root_table_list.tables[i].length) {
continue;
}

length = ACPI_MIN(table_desc->length,
acpi_gbl_root_table_list.tables[i].length);
if (ACPI_MEMCMP(table_desc->pointer,
acpi_gbl_root_table_list.tables[i].pointer,
length)) {
acpi_gbl_root_table_list.tables[i].length)) {
continue;
}

Expand Down

0 comments on commit a6f3053

Please sign in to comment.