v2023110000.0.3
·
74 commits
to refs/heads/release/202311
since this release
What's Changed
-
[REBASE \&\& FF] Update Paging Audit File Collection to Defer Free/Allocate Calls, Fix SMM Parsing @TaylorBeebe (#450)
Change Details
## Description
- Remove the Collection of Page Directories: Table entries were being collected but are not used in the paging audit. While they could be used to check heritable attributes, the PDE entries would need to be split by level which makes determining heritability difficult. Instead, FlatPageTableLib can be used in the future to check heritability.
- Paging Audit: Update File Collection to Defer Free/Allocate Calls: While collecting platform paging and memory info, freeing and allocating memory will potentially change the memory layout and corrupt the test results. Because allocating and freeing memory only transitions memory type between EfiConventionalMemory and EfiBootServicesMemory (which are required to have the same memory protection policy), this nuance didn't matter much. However, as the DXE core is updated to support more strict protections on free memory, this nuance will matter. This patch updates the data collection routines to calculate and allocate all required memory before fetching the memory map and collecting page table data.
- FIx SMM Paging Audit: The SMM paging audit needed to be updated to match the improvements made to the DXE audit. This PR reformats the SMM HTML template, updates the HTML template so the memory range object strings match the template naming, fixes the parsing of GDT and IDT entries, adds the platform info data collection
How This Was Tested
Tested on Q35 and SBSA by running the paging audit with various memory protection profiles. The SMM audit was tested on an SMM-enabled Surface platform.
Integration Instructions
N/A
Full Changelog: v2023110000.0.2...v2023110000.0.3