[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAMj1kXEY=kK9+LfJtemBZND_u-+nP7qu6cNJxxLfQJ6CV1Ub8Q@mail.gmail.com>
Date: Fri, 27 Aug 2021 16:04:28 +0200
From: Ard Biesheuvel <ardb@...nel.org>
To: Shuai Xue <xueshuai@...ux.alibaba.com>
Cc: linux-efi <linux-efi@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
zhangliguang@...ux.alibaba.com
Subject: Re: [PATCH] efi: cper: check section header more appropriately
On Mon, 23 Aug 2021 at 13:57, Shuai Xue <xueshuai@...ux.alibaba.com> 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@...ux.alibaba.com>
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
>
Powered by blists - more mailing lists