]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ACPI: APEI: EINJ: Fix EINJV2 memory error injection
authorTony Luck <tony.luck@intel.com>
Tue, 21 Apr 2026 15:02:16 +0000 (08:02 -0700)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 27 Apr 2026 19:42:31 +0000 (21:42 +0200)
commit0c00cfbcfcffa7085e4f0c7fd7a4caada4e7a90f
tree3606787816e0bc592e0e547af92a8c53f0c1ee54
parent1f6008538384453eb4c13a3d7ff9e37ee8aee6b9
ACPI: APEI: EINJ: Fix EINJV2 memory error injection

Error types in EINJV2 use different bit positions for each flavor of
injection from legacy EINJ.

Two issues:

 1) The address sanity checks in einj_error_inject() were skipped for
    EINJV2 injections. Noted by sashiko[1]
 2) __einj_error_trigger() failed to drop the entry of the target
    physical address from the list of resources that need to be
    requested.

Add a helper function that checks if an injection is to memory and use it
to solve each of these issues.

Note that the old test in __einj_error_trigger() checked that param2 was
not zero. This isn't needed because the sanity checks in einj_error_inject()
reject memory injections with param2 == 0.

Fixes: b47610296d17 ("ACPI: APEI: EINJ: Enable EINJv2 error injections")
Reported-by: sashiko <sashiko@sashiko.dev>
Reported-by: Herman Li <herman.li@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Tested-by: "Lai, Yi1" <yi1.lai@intel.com>
Link: https://sashiko.dev/#/patchset/20260415163620.12957-1-tony.luck%40intel.com
Reviewed-by: Jiaqi Yan <jiaqiyan@google.com>
Reviewed-by: Zaid Alali <zaidal@os.amperecomputing.com>
Link: https://patch.msgid.link/20260421150216.11666-3-tony.luck@intel.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/apei/einj-core.c