On 5/12/2017 3:42 PM, Luck, Tony wrote:
From: Tony Luck <tony.luck@xxxxxxxxx>
ACPI 6.1 spec clarified the structure of the Boot Error Record Table.
Linux code was overly complex, and included a redundant structure
definition of "acpi_bert_region".
v2 changes:
Rafael: Split the change to <acpi/actbl1.h> into a separate patch so
it can be fed through ACPICA process.
Boris: Better wording for the comment about the "address" field in
the acpi_table_bert structure.
Tony Luck (2):
ACPI / APEI: Boot Error Record Table processing was needlessly
complicated
ACPI / APEI: No remaining users of struct acpi_bert_region
drivers/acpi/apei/bert.c | 54 +++++++-----------------------------------------
include/acpi/actbl1.h | 16 +++++---------
2 files changed, 12 insertions(+), 58 deletions(-)
Cc: Len Brown <lenb@xxxxxxxxxx>
Cc: Huang Ying <ying.huang@xxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxx>
Cc: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx>
Cc: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx>
Cc: Tyler Baicar <tbaicar@xxxxxxxxxxxxxx>
Cc: linux-acpi@xxxxxxxxxxxxxxx
Reviewed-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
Hello Tony,
I tested this out and can see everything works properly as long as the
BERT record is valid.
Previously, if I made the CPER section size too small then the kernel
would just print the Firmware Bug: Invalid error record. Doing the same
thing with this patch series I can see an unlimited stream of unknown
error sections being printed out (I tested this with my ACPI 6.1/UEFI
2.6 patches which include the non-standard error record support).
[ 11.482831] [Hardware Error]: Error 1, type: recoverable
[ 11.482832] [Hardware Error]: section type: unknown,
00000000-0000-0000-0000-000000000000
[ 11.482833] [Hardware Error]: section length: 0x0
[ 11.482834] [Hardware Error]: Error 2, type: recoverable
[ 11.482835] [Hardware Error]: section type: unknown,
00000000-0000-0000-0000-000000000000
[ 11.482836] [Hardware Error]: section length: 0x0
[ 11.482837] [Hardware Error]: Error 3, type: recoverable
[ 11.482839] [Hardware Error]: section type: unknown,
00000000-0000-0000-0000-000000000000
[ 11.482839] [Hardware Error]: section length: 0x0
...
For that reason, I'd suggest leaving this check in:
if (cper_estatus_check(estatus)) {
pr_err(FW_BUG "Invalid error record.\n");
return;
}
Thanks,
Tyler
--
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html