mu_basecore icon indicating copy to clipboard operation
mu_basecore copied to clipboard

Add Enhanced Memory Protections

Open os-d opened this issue 1 year ago • 1 comments

Description

This adds enhanced memory protections to Project Mu. This expands the set of memory protections available in edk2 and makes them configurable via a HOB so that memory protections can be dynamically updated for compatibility. See https://microsoft.github.io/mu/WhatAndWhy/enhancedmemoryprotection/ for more details.

It consists of the 2311 commits (greatly squashed, split by package, dropped when not required):

45cb26c60568b85395be1c3adf2ebcd040a0cfd6 8fb75033ac b152f68d5b ebcd9ab77d 9ce11dc701 9ee166f8b3 27f20fcc76 9345b79d6f 144e3fe632 2a769088dd afb07e500f f2e3bafb30 1983fbd0ad f1d9992c92 4ab119180b e689cc2024 9a124ec02c 822b984a66 22f77a8d97 f2b47959d2 aead3c53e0 272d80d70a 93e8fab09a ae58d20f23 3ca926df60 a462742f40 eed7092fa4 001fc560e8 ab4e303bb5 6d3f67c9ed 95f57f39b3 f97224e265 01a3f55392 5dce0eb5ff 9c1cc77b61 3f48112e5e f54f81f38b ad55442043 d7f992d635 aa159cd6f4 e084763a91 38601c5316 8b96862a82 ac74e7e44d f281c1b0fb e8d23a52cf 98c164919c 6edaa5c9c9 c00bb26387 37fbe8b0e4 6c80787f3d

For each item, place an "x" in between [ and ] if true. Example: [x]. (you can also check items in the GitHub UI)

  • [x] Impacts functionality?
    • Functionality - Does the change ultimately impact how firmware functions?
    • Examples: Add a new library, publish a new PPI, update an algorithm, ...
  • [x] Impacts security?
    • Security - Does the change have a direct security impact on an application, flow, or firmware?
    • Examples: Crypto algorithm change, buffer overflow fix, parameter validation improvement, ...
  • [x] Breaking change?
    • Breaking change - Will anyone consuming this change experience a break in build or boot behavior?
    • Examples: Add a new library class, move a module to a different repo, call a function in a new library class in a pre-existing module, ...
  • [x] Includes tests?
    • Tests - Does the change include any explicit test code?
    • Examples: Unit tests, integration tests, robot tests, ...
  • [x] Includes documentation?
    • Documentation - Does the change contain explicit documentation additions outside direct code modifications (and comments)?
    • Examples: Update readme file, add feature readme file, link to documentation on an a separate Web page, ...

How This Was Tested

Moving from release/202311 branch.

Integration Instructions

See https://microsoft.github.io/mu/WhatAndWhy/enhancedmemoryprotection/.

os-d avatar Jun 13 '24 22:06 os-d

Codecov Report

Attention: Patch coverage is 0% with 843 lines in your changes missing coverage. Please review.

Please upload report for BASE (release/202405@ab3d90f). Learn more about missing BASE report.

Files Patch % Lines
...MemoryProtectionHobLib/DxeMemoryProtectionHobLib.c 0.00% 156 Missing :warning:
MdeModulePkg/Core/Dxe/Mem/HeapGuard.c 0.00% 101 Missing :warning:
MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c 0.00% 98 Missing :warning:
MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c 0.00% 88 Missing :warning:
...yProtectionHobLib/MmCommonMemoryProtectionHobLib.c 0.00% 87 Missing :warning:
UefiCpuPkg/Library/MpInitLib/DxeMpLib.c 0.00% 57 Missing :warning:
MdeModulePkg/Core/Dxe/Image/Image.c 0.00% 42 Missing :warning:
MdeModulePkg/Core/PiSmmCore/HeapGuard.c 0.00% 38 Missing :warning:
MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c 0.00% 24 Missing :warning:
UefiCpuPkg/Library/MpInitLib/PeiMpLib.c 0.00% 24 Missing :warning:
... and 18 more
Additional details and impacted files
@@                Coverage Diff                @@
##             release/202405     #912   +/-   ##
=================================================
  Coverage                  ?    1.06%           
=================================================
  Files                     ?     1434           
  Lines                     ?   357757           
  Branches                  ?     5350           
=================================================
  Hits                      ?     3823           
  Misses                    ?   353178           
  Partials                  ?      756           
Flag Coverage Δ
MdeModulePkg 0.60% <0.00%> (?)
MdePkg 3.30% <0.00%> (?)
NetworkPkg 0.55% <ø> (?)
UefiCpuPkg 2.87% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov-commenter avatar Jun 28 '24 23:06 codecov-commenter