On Fri, May 7, 2021 at 2:47 AM Rafael J. Wysocki <rafael(a)kernel.org> wrote:
Hi Dan,
On Fri, May 7, 2021 at 9:33 AM Dan Williams <dan.j.williams(a)intel.com> wrote:
>
> ACPI 6.4 introduced the "SpaLocationCookie" to the NFIT "System
Physical
> Address (SPA) Range Structure". The presence of that new field is
> indicated by the ACPI_NFIT_LOCATION_COOKIE_VALID flag. Pre-ACPI-6.4
> firmware implementations omit the flag and maintain the original size of
> the structure.
>
> Update the implementation to check that flag to determine the size
> rather than the ACPI 6.4 compliant definition of 'struct
> acpi_nfit_system_address' from the Linux ACPICA definitions.
>
> Update the test infrastructure for the new expectations as well, i.e.
> continue to emulate the ACPI 6.3 definition of that structure.
>
> Without this fix the kernel fails to validate 'SPA' structures and this
> leads to a crash in nfit_get_smbios_id() since that routine assumes that
> SPAs are valid if it finds valid SMBIOS tables.
>
> BUG: unable to handle page fault for address: ffffffffffffffa8
> [..]
> Call Trace:
> skx_get_nvdimm_info+0x56/0x130 [skx_edac]
> skx_get_dimm_config+0x1f5/0x213 [skx_edac]
> skx_register_mci+0x132/0x1c0 [skx_edac]
>
> Cc: Bob Moore <robert.moore(a)intel.com>
> Cc: Erik Kaneda <erik.kaneda(a)intel.com>
> Fixes: cf16b05c607b ("ACPICA: ACPI 6.4: NFIT: add Location Cookie field")
Do you want me to apply this (as the commit being fixed went in
through the ACPI tree)?
Yes, I would need to wait for a signed tag so if you're sending urgent
fixes in the next few days please take this one, otherwise I'll circle
back next week after -rc1.
If you'd rather take care of it yourself:
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki(a)intel.com>
Thanks!