From 7aedbf3c60f45ea4d6f9d483991d43e88e966b02 Mon Sep 17 00:00:00 2001 From: vit9696 Date: Sat, 4 Apr 2020 23:18:05 +0300 Subject: [PATCH] OcMemoryLib: Actually fix OcExpandAttributesByMap --- Changelog.md | 2 +- Docs/Configuration.pdf | Bin 522438 -> 522408 bytes Docs/Configuration.tex | 16 +- Docs/Differences/Differences.pdf | Bin 436868 -> 437141 bytes Docs/Differences/Differences.tex | 18 +- Library/OcMemoryLib/MemoryAttributes.c | 242 +++++++++++++------------ 6 files changed, 155 insertions(+), 123 deletions(-) diff --git a/Changelog.md b/Changelog.md index fcb4bf42..bded0a99 100644 --- a/Changelog.md +++ b/Changelog.md @@ -20,7 +20,7 @@ OpenCore Changelog - Update builtin firmware - Fixed `PowerTimeoutKernelPanic` on 10.15.4 - Fixed 4K section alignment in `OpenRuntime` to fix Linux booting on SKL -- Introduced `SyncRuntimePermissions` to fix Linux booting on CFL+ +- Introduced `SyncRuntimePermissions` to fix multiple memory permission flaws - Introduced `RebuildAppleMemoryMap` to fix macOS booting on Dell 5490 - Removed `ShrinkMemoryMap` in favour of more advanced `RebuildAppleMemoryMap` - Marked `EnableWriteUnprotector` as deprecated on modern systems diff --git a/Docs/Configuration.pdf b/Docs/Configuration.pdf index 400a67cbb1114e1dae85d271661d4f6638c66959..de9d53385b537ed459eeb56dcb7e2951b964c0d0 100644 GIT binary patch delta 26837 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 delta 32909 zcmV)1K+V6E*BXS?8jyQ`k>Zi<_ue;Sf&~y<6!g!k`UEtkGz^ho^P%R-m!g z#`eabY>)Q3eq(&O)^N5hZspq_slBHfn4VO{c*>GzF~p#udXX}r

-dTBx33R^IGJ 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 zIPhysicalStart; + LastMat = FALSE; - while (MatIndex < MemoryAttributesTable->NumberOfEntries) { - LastMatAddress = LAST_DESCRIPTOR_ADDR (MemoryAttributesEntry); - LastMat = MatIndex + 1 == MemoryAttributesTable->NumberOfEntries; - - // - // Skip unsupported MAT type. - // Skip MAT entry relevant to not existent or older MAP entry, - // but only if it is not the last one. - // - if ((MemoryMap->Type != EfiRuntimeServicesCode && MemoryMap->Type != EfiRuntimeServicesData) - || (LastMatAddress < MemoryMap->PhysicalStart && !LastMat)) { - MemoryAttributesEntry = NEXT_MEMORY_DESCRIPTOR ( - MemoryAttributesEntry, - MemoryAttributesTable->DescriptorSize - ); - ++MatIndex; - continue; - } - + while (MatIndex < MemoryAttributesTable->NumberOfEntries && !LastMat) { // - // 1. MAT entry at the beginning of MAP entry. - // 2. MAT entry continuing previous MAT entry within MAP entry. - // MAT is required to be smaller or equal than MAP by UEFI spec. + // Process MAT with RT code or RT data type, which is the last one or resides at MAP entry or after. // - if (NextGluedAddress == MemoryAttributesEntry->PhysicalStart) { - ASSERT (MemoryAttributesEntry->NumberOfPages <= MemoryMap->NumberOfPages); - if (LastMatAddress == LastMapAddress) { + LastMatAddress = LAST_DESCRIPTOR_ADDR (MemoryAttributesEntry); + LastMat = MatIndex + 1 == MemoryAttributesTable->NumberOfEntries; + if ((MemoryMap->Type == EfiRuntimeServicesCode || MemoryMap->Type == EfiRuntimeServicesData) + && (LastMatAddress >= MemoryMap->PhysicalStart || LastMat)) { + // + // MAT is a suffix of MAP (MAT ends at MAP end). + // + if (NextGluedAddress == MemoryAttributesEntry->PhysicalStart + && LastMatAddress == LastMapAddress) { // // Completed iterating over this MAP entry. // break; } - ASSERT (LastMatAddress < LastMapAddress); - NextGluedAddress = LastMatAddress + 1; - MemoryAttributesEntry = NEXT_MEMORY_DESCRIPTOR ( - MemoryAttributesEntry, - MemoryAttributesTable->DescriptorSize - ); - ++MatIndex; - continue; - } - // - // Have a hole between neighbouring MAT entries, 3 variants: - // - MAT is within MAP (but starts later). - // - MAT starts after MAP. - // - No MAT to cover MAP (this is the last MAT entry). - // Need to insert a new MAT entry to cover the hole. - // - if (MemoryAttributesTable->NumberOfEntries >= MaxDescriptors) { - return EFI_OUT_OF_RESOURCES; - } - - if (!LastMat) { - // - // Choose the next processed address. This is the closest boundary for us: - // - First MAT address, when MAT is within MAP. - // - Last MAP address, when MAT starts after MAP. - // - NewNextGluedAddress = MIN (LastMapAddress + 1, MemoryAttributesEntry->PhysicalStart); - // - // Copy existing attributes to the right. - // - ASSERT (MemoryAttributesEntry->PhysicalStart > NextGluedAddress); - CopyMem ( - NEXT_MEMORY_DESCRIPTOR (MemoryAttributesEntry, MemoryAttributesTable->DescriptorSize), - MemoryAttributesEntry, - (MemoryAttributesTable->NumberOfEntries - MatIndex) * MemoryAttributesTable->DescriptorSize - ); - } else { // - // Adding up to the end of MAP, nothing to copy. + // MAT is a prefix or an infix of MAP: + // 1. MAT entry at the beginning of MAP entry. + // 2. MAT entry continuing previous MAT entry within MAP entry. + // If this MAT is last, we have a hole in the end. // - ASSERT (MemoryAttributesEntry->PhysicalStart < NextGluedAddress); - NewNextGluedAddress = LastMapAddress + 1; - } - // - // Write the new attribute. - // - MemoryAttributesEntry->Type = OcRealMemoryType (MemoryMap); - MemoryAttributesEntry->PhysicalStart = NextGluedAddress; - MemoryAttributesEntry->VirtualStart = 0; - MemoryAttributesEntry->NumberOfPages = EFI_SIZE_TO_PAGES (NewNextGluedAddress - NextGluedAddress); - MemoryAttributesEntry->Attribute = EFI_MEMORY_RUNTIME; - if (MemoryAttributesEntry->Type == EfiRuntimeServicesCode) { - MemoryAttributesEntry->Attribute |= EFI_MEMORY_RO; - } else { - MemoryAttributesEntry->Attribute |= EFI_MEMORY_XP; - } - // - // Increase the amount of entries and mark success. - // - ++MemoryAttributesTable->NumberOfEntries; - Status = EFI_SUCCESS; - // - // Choose the next processed address. - // - NextGluedAddress = NewNextGluedAddress; - // - // Done processing MATs. - // - if (NextGluedAddress == LastMapAddress + 1) { - break; + if (NextGluedAddress == MemoryAttributesEntry->PhysicalStart && !LastMat) { + // + // MAT is required to be smaller or equal than MAP by UEFI spec. + // + ASSERT (MemoryAttributesEntry->NumberOfPages <= MemoryMap->NumberOfPages); + NextGluedAddress = LastMatAddress + 1; + } else { + // + // Have a hole between neighbouring MAT entries, 3 variants: + // - MAT is within MAP (but starts later). + // - MAT starts after MAP. + // - No MAT fully covers MAP end (this is the last MAT entry). + // Need to insert a new MAT entry to cover the hole. + // + if (MemoryAttributesTable->NumberOfEntries >= MaxDescriptors) { + return EFI_OUT_OF_RESOURCES; + } + + if (!LastMat) { + // + // Append to the middle. + // Choose the next processed address. This is the closest boundary for us: + // - First MAT address, when MAT is within MAP. + // - Last MAP address, when MAT starts after MAP. + // + NewNextGluedAddress = MIN (MemoryAttributesEntry->PhysicalStart, LastMapAddress + 1); + // + // Copy existing attributes to the right. + // + ASSERT (MemoryAttributesEntry->PhysicalStart > NextGluedAddress); + CopyMem ( + NEXT_MEMORY_DESCRIPTOR (MemoryAttributesEntry, MemoryAttributesTable->DescriptorSize), + MemoryAttributesEntry, + (MemoryAttributesTable->NumberOfEntries - MatIndex) * MemoryAttributesTable->DescriptorSize + ); + } else { + // + // Append to the end. + // Next processed address is the end of MAP. + // There are no MATs left to copy. + // + NewNextGluedAddress = LastMapAddress + 1; + // + // If current MAT is a prefix or an infix of MAP, take it into account. + // + if (MemoryAttributesEntry->PhysicalStart == NextGluedAddress) { + NextGluedAddress = LastMatAddress + 1; + } else { + ASSERT (MemoryAttributesEntry->PhysicalStart < NextGluedAddress); + } + // + // Update current entry the new the last entry we are about to write. + // + MemoryAttributesEntry = NEXT_MEMORY_DESCRIPTOR (MemoryAttributesEntry, MemoryAttributesTable->DescriptorSize); + ++MatIndex; + } + // + // Write the new attribute. + // + MemoryAttributesEntry->Type = OcRealMemoryType (MemoryMap); + MemoryAttributesEntry->PhysicalStart = NextGluedAddress; + MemoryAttributesEntry->VirtualStart = 0; + MemoryAttributesEntry->NumberOfPages = EFI_SIZE_TO_PAGES (NewNextGluedAddress - NextGluedAddress); + MemoryAttributesEntry->Attribute = EFI_MEMORY_RUNTIME; + if (MemoryAttributesEntry->Type == EfiRuntimeServicesCode) { + MemoryAttributesEntry->Attribute |= EFI_MEMORY_RO; + } else { + MemoryAttributesEntry->Attribute |= EFI_MEMORY_XP; + } + // + // Update the next processed address. + // Increase the amount of MAT entries in the table. + // Report success. + // + NextGluedAddress = NewNextGluedAddress; + ++MemoryAttributesTable->NumberOfEntries; + Status = EFI_SUCCESS; + // + // Done processing MATs. + // + if (NextGluedAddress == LastMapAddress + 1) { + break; + } + } } // // Process next MAT. + // Do not increment if it is the last MAT, as we need to fill holes in the end. // - MemoryAttributesEntry = NEXT_MEMORY_DESCRIPTOR ( - MemoryAttributesEntry, - MemoryAttributesTable->DescriptorSize - ); - ++MatIndex; + if (!LastMat) { + MemoryAttributesEntry = NEXT_MEMORY_DESCRIPTOR ( + MemoryAttributesEntry, + MemoryAttributesTable->DescriptorSize + ); + ++MatIndex; + } } } @@ -436,15 +446,17 @@ OcRebuildAttributes ( // as executable here. // REF: https://github.com/acidanthera/bugtracker/issues/491#issuecomment-606835337 // - Status = OcUpdateDescriptors ( - MemoryAttributesTable->NumberOfEntries * MemoryAttributesTable->DescriptorSize, - MemoryAttributesEntry, - MemoryAttributesTable->DescriptorSize, - Address, - EfiRuntimeServicesCode, - EFI_MEMORY_RO, - EFI_MEMORY_XP - ); + if (Address != 0) { + Status = OcUpdateDescriptors ( + MemoryAttributesTable->NumberOfEntries * MemoryAttributesTable->DescriptorSize, + MemoryAttributesEntry, + MemoryAttributesTable->DescriptorSize, + Address, + EfiRuntimeServicesCode, + EFI_MEMORY_RO, + EFI_MEMORY_XP + ); + } return Status; } -- GitLab