Message ID | 1690984066-31757-1-git-send-email-lixiaochun.2888@163.com (mailing list archive) |
---|---|
State | Mainlined, archived |
Headers | show |
Series | [v1] ACPI: extlog: Fix finding the generic error data for v3 structure | expand |
> Fix by using acpi_hest_get_payload( ) to find out the correct > generic error data for v3 structure. The revision v300 generic > error data is different from the old one, so for compatibility > with old and new version, change to a new interface to locate > the right memory error section that was defined in CPER. > > Signed-off-by: Xiaochun Lee <lixc17@lenovo.com> Reviewed-by: Tony Luck <tony.luck@intel.com> -Tony
On Wed, Aug 2, 2023 at 6:03 PM Luck, Tony <tony.luck@intel.com> wrote: > > > Fix by using acpi_hest_get_payload( ) to find out the correct > > generic error data for v3 structure. The revision v300 generic > > error data is different from the old one, so for compatibility > > with old and new version, change to a new interface to locate > > the right memory error section that was defined in CPER. > > > > Signed-off-by: Xiaochun Lee <lixc17@lenovo.com> > > Reviewed-by: Tony Luck <tony.luck@intel.com> Applied as 6.6 material, thanks!
diff --git a/drivers/acpi/acpi_extlog.c b/drivers/acpi/acpi_extlog.c index e648158368a7..e120a96e1eae 100644 --- a/drivers/acpi/acpi_extlog.c +++ b/drivers/acpi/acpi_extlog.c @@ -172,7 +172,7 @@ static int extlog_print(struct notifier_block *nb, unsigned long val, fru_text = ""; sec_type = (guid_t *)gdata->section_type; if (guid_equal(sec_type, &CPER_SEC_PLATFORM_MEM)) { - struct cper_sec_mem_err *mem = (void *)(gdata + 1); + struct cper_sec_mem_err *mem = acpi_hest_get_payload(gdata); if (gdata->error_data_length >= sizeof(*mem)) trace_extlog_mem_event(mem, err_seq, fru_id, fru_text,