audk/MdeModulePkg/Universal/Acpi/AcpiTableDxe
Ard Biesheuvel f859c6796f 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>
2017-03-21 07:07:01 +00:00
..
AcpiSdt.c MdeModulePkg AcpiTableDxe: Don't uninstall Acpi Sdt Protocol at ReadyToLock 2016-03-04 17:13:53 +08:00
AcpiSdt.h
AcpiTable.c
AcpiTable.h MdeModulePkg AcpiTableDxe: Don't uninstall Acpi Sdt Protocol at ReadyToLock 2016-03-04 17:13:53 +08:00
AcpiTableDxe.inf MdeModulePkg: Add description to MdeModulePkg AcpiTable driver. 2016-04-27 14:41:36 +08:00
AcpiTableDxe.uni MdeModulePkg: Add description to MdeModulePkg AcpiTable driver. 2016-04-27 14:41:36 +08:00
AcpiTableDxeExtra.uni
AcpiTableProtocol.c MdeModulePkg/AcpiTableDxe: consider version mask when removing tables 2017-03-21 07:07:01 +00:00
Aml.c
AmlChild.c
AmlNamespace.c
AmlOption.c MdeModulePkg AcpiTableDxe: Fix a typo in function description 2016-01-06 01:11:25 +00:00
AmlString.c