]> git.baikalelectronics.ru Git - kernel.git/commit
ACPI: APEI: fix synchronous external aborts in user-mode
authorXiaofei Tan <tanxiaofei@huawei.com>
Fri, 11 Jun 2021 12:37:07 +0000 (20:37 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 17 Jun 2021 12:05:28 +0000 (14:05 +0200)
commitb10b93a73b00dc159409bd02cda0fe77424af3fe
treef6e9bc83307ae05dc2a8cf342f78f4d5317ab3fb
parent802fc5dfd2e883b6a37b33ab1d0d3cd8d4c2e25e
ACPI: APEI: fix synchronous external aborts in user-mode

Before commit bcf3d68cbd09 ("arm64: acpi: Make apei_claim_sea()
synchronise with APEI's irq work"), do_sea() would unconditionally
signal the affected task from the arch code. Since that change,
the GHES driver sends the signals.

This exposes a problem as errors the GHES driver doesn't understand
or doesn't handle effectively are silently ignored. It will cause
the errors get taken again, and circulate endlessly. User-space task
get stuck in this loop.

Existing firmware on Kunpeng9xx systems reports cache errors with the
'ARM Processor Error' CPER records.

Do memory failure handling for ARM Processor Error Section just like
for Memory Error Section.

Fixes: bcf3d68cbd09 ("arm64: acpi: Make apei_claim_sea() synchronise with APEI's irq work")
Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com>
Reviewed-by: James Morse <james.morse@arm.com>
[ rjw: Subject edit ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/apei/ghes.c