diff mbox

Add klog checking for errors from drivers/acpi/tables.c

Message ID 1469545067-10602-1-git-send-email-colin.king@canonical.com
State Accepted
Headers show

Commit Message

Colin Ian King July 26, 2016, 2:57 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

Add more klog error message checking for the ACPI driver

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 data/klog.json | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

Comments

Alex Hung July 27, 2016, 1:25 a.m. UTC | #1
On 2016-07-26 10:57 PM, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> Add more klog error message checking for the ACPI driver
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  data/klog.json | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 56 insertions(+)
>
> diff --git a/data/klog.json b/data/klog.json
> index d4735ed..917857c 100644
> --- a/data/klog.json
> +++ b/data/klog.json
> @@ -2,6 +2,62 @@
>   "firmware_error_warning_patterns":
>   [
>    {
> +   "compare_mode": "regex",
> +   "log_level": "LOG_LEVEL_HIGH",
> +   "pattern": "\\[.*:.*\\] Invalid zero length",
> +   "advice": "An ACPI MADT subtable has been found with an invalid zero length. MADT parsing was aborted.",
> +   "label": "KlogAcpiMadtZeroLengthSubTable"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_MEDIUM",
> +   "pattern": "BIOS bug: multiple APIC/MADT found, using",
> +   "advice": "The BIOS is supposed to supply just one APIC/MADT, however, more than one has been found. One can use acpi_apic_instance=N to specify the Nth ACPI/MADT to use as an override if required.",
> +   "label": "KlogAcpiMultipleMadt"
> +  },
> +  {
> +   "compare_mode": "regex",
> +   "log_level": "LOG_LEVEL_LOW",
> +   "pattern": "Override \\[.*\\], this is unsafe: tainting kernel",
> +   "advice": "One or more ACPI tables have been overridden with replacement tables, this sets a taint bit in the kernel since this is an unsafe operation.",
> +   "label": "KlogAcpiKernelTainted"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_HIGH",
> +   "pattern": "ACPI OVERRIDE: Table smaller than ACPI header",
> +   "advice": "An override ACPI table from kernel/firmware/acpi has an invalid ACPI table header size and will be ignored.",
> +   "label": "KlogAcpiInvalidOverrideTable"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_HIGH",
> +   "pattern": "ACPI OVERRIDE: Unknown signature",
> +   "advice": "An override ACPI table has an unknown ACPI table signature and will be ignored.",
> +   "label": "KlogAcpiInvalidOverrideTableSig"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_HIGH",
> +   "pattern": "ACPI OVERRIDE: File length does not match table length",
> +   "advice": "An override ACPI table has an invalid length and will be ignored.",
> +   "label": "KlogAcpiInvalidOverrideTableLength"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_HIGH",
> +   "pattern": "ACPI OVERRIDE: Bad table checksum",
> +   "advice": "An override ACPI table has an invalid checksum and will be ignored.",
> +   "label": "KlogAcpiInvalidOverrideTableChecksum"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_LOW",
> +   "pattern": "Shall use APIC/MADT table",
> +   "advice": "The BIOS is supposed to supply just one APIC/MADT, however, more than one has been found.  Using a specific MADT table.",
> +   "label": "KlogAcpiMadtSelected"
> +  },
> +  {
>     "compare_mode": "string",
>     "log_level": "LOG_LEVEL_HIGH",
>     "pattern": "IRQ method execution failed",
>


Acked-by: Alex Hung <alex.hung@canonical.com>
Ivan Hu July 27, 2016, 1:50 a.m. UTC | #2
On 2016年07月26日 22:57, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> Add more klog error message checking for the ACPI driver
>
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
>  data/klog.json | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 56 insertions(+)
>
> diff --git a/data/klog.json b/data/klog.json
> index d4735ed..917857c 100644
> --- a/data/klog.json
> +++ b/data/klog.json
> @@ -2,6 +2,62 @@
>   "firmware_error_warning_patterns":
>   [
>    {
> +   "compare_mode": "regex",
> +   "log_level": "LOG_LEVEL_HIGH",
> +   "pattern": "\\[.*:.*\\] Invalid zero length",
> +   "advice": "An ACPI MADT subtable has been found with an invalid zero length. MADT parsing was aborted.",
> +   "label": "KlogAcpiMadtZeroLengthSubTable"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_MEDIUM",
> +   "pattern": "BIOS bug: multiple APIC/MADT found, using",
> +   "advice": "The BIOS is supposed to supply just one APIC/MADT, however, more than one has been found. One can use acpi_apic_instance=N to specify the Nth ACPI/MADT to use as an override if required.",
> +   "label": "KlogAcpiMultipleMadt"
> +  },
> +  {
> +   "compare_mode": "regex",
> +   "log_level": "LOG_LEVEL_LOW",
> +   "pattern": "Override \\[.*\\], this is unsafe: tainting kernel",
> +   "advice": "One or more ACPI tables have been overridden with replacement tables, this sets a taint bit in the kernel since this is an unsafe operation.",
> +   "label": "KlogAcpiKernelTainted"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_HIGH",
> +   "pattern": "ACPI OVERRIDE: Table smaller than ACPI header",
> +   "advice": "An override ACPI table from kernel/firmware/acpi has an invalid ACPI table header size and will be ignored.",
> +   "label": "KlogAcpiInvalidOverrideTable"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_HIGH",
> +   "pattern": "ACPI OVERRIDE: Unknown signature",
> +   "advice": "An override ACPI table has an unknown ACPI table signature and will be ignored.",
> +   "label": "KlogAcpiInvalidOverrideTableSig"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_HIGH",
> +   "pattern": "ACPI OVERRIDE: File length does not match table length",
> +   "advice": "An override ACPI table has an invalid length and will be ignored.",
> +   "label": "KlogAcpiInvalidOverrideTableLength"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_HIGH",
> +   "pattern": "ACPI OVERRIDE: Bad table checksum",
> +   "advice": "An override ACPI table has an invalid checksum and will be ignored.",
> +   "label": "KlogAcpiInvalidOverrideTableChecksum"
> +  },
> +  {
> +   "compare_mode": "string",
> +   "log_level": "LOG_LEVEL_LOW",
> +   "pattern": "Shall use APIC/MADT table",
> +   "advice": "The BIOS is supposed to supply just one APIC/MADT, however, more than one has been found.  Using a specific MADT table.",
> +   "label": "KlogAcpiMadtSelected"
> +  },
> +  {
>     "compare_mode": "string",
>     "log_level": "LOG_LEVEL_HIGH",
>     "pattern": "IRQ method execution failed",
>

Acked-by: Ivan Hu <ivan.hu@canonical.com>
diff mbox

Patch

diff --git a/data/klog.json b/data/klog.json
index d4735ed..917857c 100644
--- a/data/klog.json
+++ b/data/klog.json
@@ -2,6 +2,62 @@ 
  "firmware_error_warning_patterns":
  [ 
   {
+   "compare_mode": "regex",
+   "log_level": "LOG_LEVEL_HIGH",
+   "pattern": "\\[.*:.*\\] Invalid zero length",
+   "advice": "An ACPI MADT subtable has been found with an invalid zero length. MADT parsing was aborted.",
+   "label": "KlogAcpiMadtZeroLengthSubTable"
+  },
+  {
+   "compare_mode": "string",
+   "log_level": "LOG_LEVEL_MEDIUM",
+   "pattern": "BIOS bug: multiple APIC/MADT found, using",
+   "advice": "The BIOS is supposed to supply just one APIC/MADT, however, more than one has been found. One can use acpi_apic_instance=N to specify the Nth ACPI/MADT to use as an override if required.",
+   "label": "KlogAcpiMultipleMadt"
+  },
+  {
+   "compare_mode": "regex",
+   "log_level": "LOG_LEVEL_LOW",
+   "pattern": "Override \\[.*\\], this is unsafe: tainting kernel",
+   "advice": "One or more ACPI tables have been overridden with replacement tables, this sets a taint bit in the kernel since this is an unsafe operation.",
+   "label": "KlogAcpiKernelTainted"
+  },
+  {
+   "compare_mode": "string",
+   "log_level": "LOG_LEVEL_HIGH",
+   "pattern": "ACPI OVERRIDE: Table smaller than ACPI header",
+   "advice": "An override ACPI table from kernel/firmware/acpi has an invalid ACPI table header size and will be ignored.",
+   "label": "KlogAcpiInvalidOverrideTable"
+  },
+  {
+   "compare_mode": "string",
+   "log_level": "LOG_LEVEL_HIGH",
+   "pattern": "ACPI OVERRIDE: Unknown signature",
+   "advice": "An override ACPI table has an unknown ACPI table signature and will be ignored.",
+   "label": "KlogAcpiInvalidOverrideTableSig"
+  },
+  {
+   "compare_mode": "string",
+   "log_level": "LOG_LEVEL_HIGH",
+   "pattern": "ACPI OVERRIDE: File length does not match table length",
+   "advice": "An override ACPI table has an invalid length and will be ignored.",
+   "label": "KlogAcpiInvalidOverrideTableLength"
+  },
+  {
+   "compare_mode": "string",
+   "log_level": "LOG_LEVEL_HIGH",
+   "pattern": "ACPI OVERRIDE: Bad table checksum",
+   "advice": "An override ACPI table has an invalid checksum and will be ignored.",
+   "label": "KlogAcpiInvalidOverrideTableChecksum"
+  },
+  {
+   "compare_mode": "string",
+   "log_level": "LOG_LEVEL_LOW",
+   "pattern": "Shall use APIC/MADT table",
+   "advice": "The BIOS is supposed to supply just one APIC/MADT, however, more than one has been found.  Using a specific MADT table.",
+   "label": "KlogAcpiMadtSelected"
+  },
+  {
    "compare_mode": "string",
    "log_level": "LOG_LEVEL_HIGH",
    "pattern": "IRQ method execution failed",