aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2008-04-10 11:06:42 -0400
committerLen Brown <len.brown@intel.com>2008-04-22 14:29:30 -0400
commita6f4a4511e65942b93ded60d746094ec0e58ed8e (patch)
tree4dc2ac8ab4bc37fd801d4a1b0b7feb66afd637e1
parent970d9c9ec313daa1b41db0f8bdd1ca8cc2903822 (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>
-rw-r--r--include/acpi/acdisasm.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/include/acpi/acdisasm.h b/include/acpi/acdisasm.h
index 67d152e7fa44..07d5241ea7a2 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
106typedef 107typedef
107void (*acpi_dmtable_handler) (struct acpi_table_header * table); 108void (*acpi_dmtable_handler) (struct acpi_table_header * table);
@@ -195,7 +196,7 @@ extern struct acpi_dmtable_info acpi_dm_table_info_wdrt[];
195 */ 196 */
196void acpi_dm_dump_data_table(struct acpi_table_header *table); 197void acpi_dm_dump_data_table(struct acpi_table_header *table);
197 198
198void 199acpi_status
199acpi_dm_dump_table(u32 table_length, 200acpi_dm_dump_table(u32 table_length,
200 u32 table_offset, 201 u32 table_offset,
201 void *table, 202 void *table,