ReleaseMicrosoftMicrosoftpublished May 13, 2026seen Jun 26

microsoft/mu_basecore v2025110001.0.8

microsoft/mu_basecore

Open original ↗

Captured source

source ↗
published May 13, 2026seen Jun 26captured 2whttp 200method plain

v2025110001.0.8

Repository: microsoft/mu_basecore

Tag: v2025110001.0.8

Published: 2026-05-13T23:42:46Z

Prerelease: no

Release notes:

What's Changed

Fix: BaseCryptLibOnOneCrypto @Flickdm (#1787)

Change Details

Description

This PR should be rebased and merged to keep the commit history because it also has a fewer other smaller but nice to have changes that should go in with this.

This is a workaround to not use VA_LIST in X509ConstructCertificateStackV - which goes against the UEFI specification and is broken today when using a CLANGPDB compiled binary vs a GCC5 DxeCore. This change will unblock our partner teams but the long term fix is to deprecate the (now unused) function X509ConstructCertificateStackV.

This pull request refactors and improves the implementation of the X509ConstructCertificateStack functions in the OneCrypto library, making them more robust and better tested. The main changes include replacing a macro-based implementation with an explicit function, adding comprehensive unit tests for various input scenarios, and fixing a logic bug in the error handling macro. These changes enhance the reliability and maintainability of the certificate stack construction logic.

X509 Certificate Stack Construction Refactor and Bug Fixes

Implementation improvements:

  • Replaced the macro-based implementation of X509ConstructCertificateStackV with an explicit function that iterates through the variadic arguments, validates certificate sizes, and appends certificates to the stack, improving clarity and error handling. (CryptoPkg/Library/BaseCryptLibOnOneCrypto/OneCryptoLib.c)
  • Updated X509ConstructCertificateStack to call the new X509ConstructCertificateStackV function and return its result, ensuring consistent logic and error propagation. (CryptoPkg/Library/BaseCryptLibOnOneCrypto/OneCryptoLib.c)

Bug fixes:

  • Fixed a logic bug in the CryptoServiceNotAvailable macro: changed the condition from && to || to correctly handle cases where the protocol pointer is NULL, preventing possible null pointer dereference. (CryptoPkg/Library/BaseCryptLibOnOneCrypto/OneCryptoLib.c)

Testing improvements:

  • Added a comprehensive suite of unit tests for X509ConstructCertificateStack, covering scenarios such as null input, single and multiple certificates, appending certificates, invalid certificates, zero-size certificates, empty lists, and direct variadic calls. (CryptoPkg/Test/UnitTest/Library/BaseCryptLib/X509Tests.c)

Metadata update:

  • Added the "id": "onecrypto-bin" field to the OneCrypto_ext_dep.json file, improving package identification. (CryptoPkg/Binaries/OneCrypto_ext_dep.json)

For details on how to complete these options and their meaning refer to CONTRIBUTING.md.

  • [ ] Impacts functionality?
  • [ ] Impacts security?
  • [ ] Breaking change?
  • [ ] Includes tests?
  • [ ] Includes documentation?

How This Was Tested

QemuSbsaPkg && Platform Testing

Integration Instructions

[CHERRY-PICK] StandaloneMmPkg: StandaloneMmIplPei: Guard S3 hob with PcdAcpiS3Enable @kuqin12 (#1795)

Change Details

Description

The current module checks the value of gEfiAcpiVariableGuid hobs and could assert if there is no such hob available.

However, these hobs are only available if a platform elects to support S3. Thus this change moves the hob copy logic behind a PCD check to prevent unnecessary asserts.

(cherry picked from commit 1fe2504afb6ed8a991d5cfe2e3cf1d39afb47b95)

  • [x] Impacts functionality?
  • [ ] Impacts security?
  • [ ] Breaking change?
  • [ ] Includes tests?
  • [ ] Includes documentation?

How This Was Tested

This was tested on QEMU Q35 and booted to Windows desktop.

Integration Instructions

N/A

[Rebase \& FF] .pytool: Image Validation Plugin: Drop Zero ImageBase Requirement @vineelko (#1793)

Change Details

Description

  • Zero ImageBase requirement is dropped from Image validation plugin as it is not enforced by most PE loaders in UEFI.
  • Patina in particular dropped support for producing .efi files with zero ImageBase
  • This also improves the debugging experience when using WinDbg

---

  • [ ] Impacts functionality?
  • [ ] Impacts security?
  • [ ] Breaking change?
  • [ ] Includes tests?
  • [ ] Includes documentation?

How This Was Tested

Q35

Integration Instructions

NA

Full Changelog: https://github.com/microsoft/mu_basecore/compare/v2025110001.0.7...v2025110001.0.8