ACPICA: iASL: Enhance detection of non-ascii or corrupted input files.
authorBob Moore <robert.moore@intel.com>
Thu, 21 May 2015 02:30:38 +0000 (10:30 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 22 May 2015 01:22:19 +0000 (03:22 +0200)
ACPICA commit 08170904011f1e8f817d9e3a9f2bb2438aeacf60

For the compiler part (not disassembler).
- Characters not within a comment must be be ASCII (0-0x7F), and
now either printable or a "space" character.
Provides better detection of files that cannot be compiled.

This patch only affects iASL which is not in the Linux upstream.

Link: https://github.com/acpica/acpica/commit/08170904
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpica/acutils.h
drivers/acpi/acpica/utfileio.c

index 2b3c5bd222f17be2069b3f58e0818637c4f46f40..d49f5c7a20d90197ece8b625dd2fcd22fca4c4b1 100644 (file)
@@ -251,7 +251,7 @@ extern const u8 _acpi_ctype[];
 #define _ACPI_DI     0x04      /* '0'-'9' */
 #define _ACPI_LO     0x02      /* 'a'-'z' */
 #define _ACPI_PU     0x10      /* punctuation */
-#define _ACPI_SP     0x08      /* space */
+#define _ACPI_SP     0x08      /* space, tab, CR, LF, VT, FF */
 #define _ACPI_UP     0x01      /* 'A'-'Z' */
 #define _ACPI_XD     0x80      /* '0'-'9', 'A'-'F', 'a'-'f' */
 
index 7e1168be39fa6d192a8fc18c49df9557d4c6f713..f72c53c05d649c1b50aa304b03981649ce7f06ae 100644 (file)
@@ -198,11 +198,8 @@ acpi_ut_read_table(FILE * fp,
                             table_header.length, file_size);
 
 #ifdef ACPI_ASL_COMPILER
-                       status = fl_check_for_ascii(fp, NULL, FALSE);
-                       if (ACPI_SUCCESS(status)) {
-                               acpi_os_printf
-                                   ("File appears to be ASCII only, must be binary\n");
-                       }
+                       acpi_os_printf("File is corrupt or is ASCII text -- "
+                                      "it must be a binary file\n");
 #endif
                        return (AE_BAD_HEADER);
                }