diff options
author | Bob Moore <robert.moore@intel.com> | 2008-04-10 11:06:42 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-22 14:29:30 -0400 |
commit | a6f4a4511e65942b93ded60d746094ec0e58ed8e (patch) | |
tree | 4dc2ac8ab4bc37fd801d4a1b0b7feb66afd637e1 /include/acpi | |
parent | 970d9c9ec313daa1b41db0f8bdd1ca8cc2903822 (diff) |
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>
Diffstat (limited to 'include/acpi')
-rw-r--r-- | include/acpi/acdisasm.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/include/acpi/acdisasm.h b/include/acpi/acdisasm.h index 67d152e7fa4..07d5241ea7a 100644 --- a/include/acpi/acdisasm.h +++ b/include/acpi/acdisasm.h | |||
@@ -97,11 +97,12 @@ typedef const struct acpi_dmtable_info { | |||
97 | #define ACPI_DMT_CHKSUM 20 | 97 | #define ACPI_DMT_CHKSUM 20 |
98 | #define ACPI_DMT_SPACEID 21 | 98 | #define ACPI_DMT_SPACEID 21 |
99 | #define ACPI_DMT_GAS 22 | 99 | #define ACPI_DMT_GAS 22 |
100 | #define ACPI_DMT_DMAR 23 | 100 | #define ACPI_DMT_ASF 23 |
101 | #define ACPI_DMT_MADT 24 | 101 | #define ACPI_DMT_DMAR 24 |
102 | #define ACPI_DMT_SRAT 25 | 102 | #define ACPI_DMT_MADT 25 |
103 | #define ACPI_DMT_EXIT 26 | 103 | #define ACPI_DMT_SRAT 26 |
104 | #define ACPI_DMT_SIG 27 | 104 | #define ACPI_DMT_EXIT 27 |
105 | #define ACPI_DMT_SIG 28 | ||
105 | 106 | ||
106 | typedef | 107 | typedef |
107 | void (*acpi_dmtable_handler) (struct acpi_table_header * table); | 108 | void (*acpi_dmtable_handler) (struct acpi_table_header * table); |
@@ -195,7 +196,7 @@ extern struct acpi_dmtable_info acpi_dm_table_info_wdrt[]; | |||
195 | */ | 196 | */ |
196 | void acpi_dm_dump_data_table(struct acpi_table_header *table); | 197 | void acpi_dm_dump_data_table(struct acpi_table_header *table); |
197 | 198 | ||
198 | void | 199 | acpi_status |
199 | acpi_dm_dump_table(u32 table_length, | 200 | acpi_dm_dump_table(u32 table_length, |
200 | u32 table_offset, | 201 | u32 table_offset, |
201 | void *table, | 202 | void *table, |