Re: [PATCH v9 4/7] ACPI: APEI: EINJ: Discover EINJv2 parameters
From: Ira Weiny
Date: Fri Jun 13 2025 - 12:56:41 EST
Zaid Alali wrote:
> The EINJv2 set_error_type_with_address structure has a flex array
> to hold the component IDs and syndrome values used when injecting
> multiple errors at once.
>
> Discover the size of this array by taking the address from the
> ACPI_EINJ_SET_ERROR_TYPE_WITH_ADDRESS entry in the EINJ table
> and reading the BIOS copy of the structure.
>
> Derive the maximum number of components from the length field
> in the einjv2_extension_struct at the end of the BIOS copy.
>
> Map the whole of the structure into kernel memory (and unmap
> on module unload).
>
> [Tony: Code unchanged from Zaid's original. New commit message]
>
> Reviewed-by: Tony Luck <tony.luck@xxxxxxxxx>
> Signed-off-by: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx>
Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>
[snip]