ACPICA: Bulletproof disassembler for bad ACPI tables

Fixed a problem with the disassembler where invalid ACPI tables
could cause faults or infinite loops.

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
Bob Moore
2008-04-10 19:06:42 +04:00
committed by Len Brown
parent 970d9c9ec3
commit a6f4a4511e

View File

@@ -97,11 +97,12 @@ typedef const struct acpi_dmtable_info {
#define ACPI_DMT_CHKSUM 20 #define ACPI_DMT_CHKSUM 20
#define ACPI_DMT_SPACEID 21 #define ACPI_DMT_SPACEID 21
#define ACPI_DMT_GAS 22 #define ACPI_DMT_GAS 22
#define ACPI_DMT_DMAR 23 #define ACPI_DMT_ASF 23
#define ACPI_DMT_MADT 24 #define ACPI_DMT_DMAR 24
#define ACPI_DMT_SRAT 25 #define ACPI_DMT_MADT 25
#define ACPI_DMT_EXIT 26 #define ACPI_DMT_SRAT 26
#define ACPI_DMT_SIG 27 #define ACPI_DMT_EXIT 27
#define ACPI_DMT_SIG 28
typedef typedef
void (*acpi_dmtable_handler) (struct acpi_table_header * table); void (*acpi_dmtable_handler) (struct acpi_table_header * table);
@@ -195,7 +196,7 @@ extern struct acpi_dmtable_info acpi_dm_table_info_wdrt[];
*/ */
void acpi_dm_dump_data_table(struct acpi_table_header *table); void acpi_dm_dump_data_table(struct acpi_table_header *table);
void acpi_status
acpi_dm_dump_table(u32 table_length, acpi_dm_dump_table(u32 table_length,
u32 table_offset, u32 table_offset,
void *table, void *table,