acpidump: improve length calculation for several IVHD elements

Use sizeofs of structures corresponding to the parsed device entry.
This does not change the calculation, but fixes logical inconsistency.

Sponsored by:	The FreeBSD Foundation
Sponsored by:	Advanced Micro Devices (AMD)
MFC after:	1 week
This commit is contained in:
Konstantin Belousov
2024-05-30 18:21:59 +03:00
parent 6e0278408e
commit 1eb7099eac
+2 -2
View File
@@ -1629,8 +1629,8 @@ acpi_handle_ivrs_ivhd_devs(ACPI_IVRS_DE_HEADER *d, char *de)
} else if (d->Type == ACPI_IVRS_TYPE_EXT_START) {
d8b = (ACPI_IVRS_DEVICE8B *)db;
len = sizeof(*d8b);
d4 = (ACPI_IVRS_DEVICE4 *)(db + sizeof(*d8a));
len = sizeof(*d8a) + sizeof(*d4);
d4 = (ACPI_IVRS_DEVICE4 *)(db + sizeof(*d8b));
len = sizeof(*d8b) + sizeof(*d4);
printf("\t\tDev Type=%#x Id=%#06x-%#06x",
d8a->Header.Type, d8a->Header.Id, d4->Header.Id);
acpi_handle_ivrs_ivhd_dte(d8b->Header.DataSetting);