RE: [BUG] kernel side can NOT trigger memory error with einj

From: Luck, Tony
Date: Thu Mar 17 2022 - 12:58:07 EST


> - rc = apei_exec_run(&trigger_ctx, ACPI_EINJ_TRIGGER_ERROR);
> + ptr = kmap(pfn_to_page(pfn));
> + tmp = *(ptr + (param1 & ~ PAGE_MASK));

That hack works when the trigger action is just trying to access the injected
location. But on Intel platforms the trigger "kicks" the patrol scrubber in the
memory controller to access the address. So the error is triggered not by
an access from the core, but by internal memory controller access.

This results in a different error signature (for an uncorrected error injection
it will be a UCNA or SRAO in Intel acronym-speak).

-Tony