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 >