Messages in this thread | | | Subject | Re: [PATCH] acpi: apei: fix the wrongly parse generic error status block | From | "Baicar, Tyler" <> | Date | Thu, 10 Aug 2017 11:48:00 -0600 |
| |
Hello,
I have already posted a patch fixing this. Please see:
https://lkml.org/lkml/2017/8/3/824
This makes the loop identical to the CPER code which prints the estatus blocks to the kernel logs.
Thanks,
Tyler
On 8/10/2017 12:06 PM, Dongjiu Geng wrote: > The revision 0x300 generic error data entry is different with the old > version. when ghes_do_proc traverses to get the data entry, it does not > consider this difference. so when error status block has revision 0x300 > data entry, it will have issue. > > Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com> > --- > drivers/acpi/apei/apei-internal.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/apei/apei-internal.h b/drivers/acpi/apei/apei-internal.h > index 6e9f14c0a71b..6491f1c4a96e 100644 > --- a/drivers/acpi/apei/apei-internal.h > +++ b/drivers/acpi/apei/apei-internal.h > @@ -122,8 +122,8 @@ struct dentry *apei_get_debugfs_dir(void); > > #define apei_estatus_for_each_section(estatus, section) \ > for (section = (struct acpi_hest_generic_data *)(estatus + 1); \ > - (void *)section - (void *)estatus < estatus->data_length; \ > - section = (void *)(section+1) + section->error_data_length) > + (void *)section - (void *)(estatus + 1) < estatus->data_length; \ > + section = acpi_hest_get_next(section)) > > static inline u32 cper_estatus_len(struct acpi_hest_generic_status *estatus) > {
-- Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.
| |