Re: [PATCH] efi: cper: check section header more appropriately

From: Ard Biesheuvel
Date: Fri Aug 27 2021 - 10:04:43 EST


On Mon, 23 Aug 2021 at 13:57, Shuai Xue <xueshuai@xxxxxxxxxxxxxxxxx> wrote:
>
> When checking a generic status block, we iterate over all the generic data
> blocks. The loop condition checks that the generic data block is valid.
> Because the size of data blocks (excluding error data) may vary depending
> on the revision and the revision is contained within the data block, we
> should ensure that enough of the current data block is valid appropiriately
> for different revision.
>
> Signed-off-by: Shuai Xue <xueshuai@xxxxxxxxxxxxxxxxx>

Applied, thanks.

> ---
> drivers/firmware/efi/cper.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/efi/cper.c b/drivers/firmware/efi/cper.c
> index e15d484b6a5a..e80706d9e78a 100644
> --- a/drivers/firmware/efi/cper.c
> +++ b/drivers/firmware/efi/cper.c
> @@ -635,7 +635,7 @@ int cper_estatus_check(const struct acpi_hest_generic_status *estatus)
> data_len = estatus->data_length;
>
> apei_estatus_for_each_section(estatus, gdata) {
> - if (sizeof(struct acpi_hest_generic_data) > data_len)
> + if (acpi_hest_get_size(gdata) > data_len)
> return -EINVAL;
>
> record_size = acpi_hest_get_record_size(gdata);
> --
> 2.20.1.12.g72788fdb
>