Messages in this thread Patch in this message | | | From | Dongjiu Geng <> | Subject | [PATCH] acpi: apei: fix the wrongly parse generic error status block | Date | Fri, 11 Aug 2017 02:06:52 +0800 |
| |
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) { -- 2.14.0
| |