mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-29 04:13:32 +00:00
- Check that the memory location that we are trying to read is valid
- Remove the VMware hack - ACPI works on all tested VMs now (QEMU, VirtualBox, and VMware) - Just a resource code issue remains and prevents us from enabling ACPI by default svn path=/trunk/; revision=46241
This commit is contained in:
@@ -592,7 +592,6 @@ AcpiTbParseRootTable (
|
||||
UINT32 Length;
|
||||
UINT8 *TableEntry;
|
||||
ACPI_STATUS Status;
|
||||
ACPI_TABLE_HEADER LocalHeader;
|
||||
|
||||
|
||||
ACPI_FUNCTION_TRACE (TbParseRootTable);
|
||||
@@ -647,14 +646,6 @@ AcpiTbParseRootTable (
|
||||
|
||||
AcpiTbPrintTableHeader (Address, Table);
|
||||
|
||||
AcpiTbCleanupTableHeader (&LocalHeader, Table);
|
||||
if (strstr(LocalHeader.AslCompilerId, "VMW"))
|
||||
{
|
||||
ACPI_ERROR ((AE_INFO, "VMware detected; ACPI has been disabled\n"));
|
||||
AcpiOsUnmapMemory (Table, sizeof (ACPI_TABLE_HEADER));
|
||||
return_ACPI_STATUS (AE_ERROR);
|
||||
}
|
||||
|
||||
/* Get the length of the full table, verify length and map entire table */
|
||||
|
||||
Length = Table->Length;
|
||||
|
||||
@@ -466,7 +466,8 @@ AcpiOsReadPciConfiguration (
|
||||
NTSTATUS Status;
|
||||
PCI_SLOT_NUMBER slot;
|
||||
|
||||
if (Register == 0 || PciId->Device == 0)
|
||||
if (Register == 0 || PciId->Device == 0 ||
|
||||
Register + Width > PCI_COMMON_HDR_LENGTH)
|
||||
return AE_ERROR;
|
||||
|
||||
slot.u.AsULONG = 0;
|
||||
@@ -498,7 +499,8 @@ AcpiOsWritePciConfiguration (
|
||||
ULONG buf = Value;
|
||||
PCI_SLOT_NUMBER slot;
|
||||
|
||||
if (Register == 0 || PciId->Device == 0)
|
||||
if (Register == 0 || PciId->Device == 0 ||
|
||||
Register + Width > PCI_COMMON_HDR_LENGTH)
|
||||
return AE_ERROR;
|
||||
|
||||
slot.u.AsULONG = 0;
|
||||
|
||||
Reference in New Issue
Block a user