diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2017-03-20 14:51:36 +0000 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2017-03-21 07:07:01 +0000 |
commit | f859c6796f4064e2142d4bfaae55dbd3aaf70c55 (patch) | |
tree | f12c939247753eb42933677a4a35e45e9c5ce730 /MdeModulePkg/Library/DxeTcpIoLib | |
parent | 7043a90eee1150db1d55cdde2a98700fa10838e5 (diff) | |
download | edk2-platforms-f859c6796f4064e2142d4bfaae55dbd3aaf70c55.tar.xz |
MdeModulePkg/AcpiTableDxe: consider version mask when removing tables
Invocations of EFI_ACPI_TABLE_PROTOCOL::UninstallAcpiTable() may
result in a crash when the value of PcdAcpiExposedTableVersions does
not include EFI_ACPI_TABLE_VERSION_1_0B.
The reason is that EFI_ACPI_TABLE_PROTOCOL::InstallAcpiTable() will
only populate the Rsdt1/Rsdt3 pointers when EFI_ACPI_TABLE_VERSION_1_0B
is set, whereas EFI_ACPI_TABLE_PROTOCOL::UninstallAcpiTable() will
invoke PublishTables with EFI_ACPI_TABLE_VERSION_1_0B alawys set,
resulting in a NULL pointer dereference of the Rsdt1/Rsdt3 pointers.
So take PcdAcpiExposedTableVersions into account for UninstallAcpiTable
as well.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Diffstat (limited to 'MdeModulePkg/Library/DxeTcpIoLib')
0 files changed, 0 insertions, 0 deletions