v5.0.0
What's Changed
-
uefi-dxe-core: Bump all crate versions to 5.0.0 to match next Github tag @vineelko (#184)
Change Details
## Description
uefi-dxe-core: Bump all crate versions to 5.0.0 to match next Github tag
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
NA
Integration Instructions
Once this is checked in, I will create a GitHub release, and finally integrate the changes from both
uefi-coreanduefi-dxe-coreintoqemu-rust-bins.</blockquote> <hr> </details>
-
Test Improvements @joschock (#178)
Change Details
## Description
With crate->module conversion, tests that used to be separate compilation units and therefore with separate global state now share more global state (for example, anything using a TplMutex is subject to TplMutex global state around the boot services pointer). This PR adds global state lock guards to all tests with global state to account for this.
This PR also adds a catch/unwind to the global state guard to avoid scenarios where a panic in a test causes the global state lock to get poisoned, which causes false failures on every other test waiting on the global state lock. The code now catches the panic, then allows the lock to be released, and then re-throws the panic with
.unwrap()on the catch/unwind closure. This means that panics in a test are now properly caught by the test harness without poisoning the global state lock.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Unit tests pass consistently. Several deadlocky/mutex fail type intermittent issues are no longer observed.
Integration Instructions
N/A - but when writing new tests, ensure that if they touch any kind of global state that they use the global state lock wrapper.
</blockquote> <hr> </details>
⚠️ Breaking Changes
-
uefi-dxe-core: ingest uefi-core's uefi-cpu refactored changes @vineelko (#183)
Change Details
## Description
uefi-dxe-core: ingest uefi-core's uefi-cpu refactored changes.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Unit Tested
Integration Instructions
Once this is checked in, I will increment the version, create a GitHub release, and finally integrate the changes from both
uefi-coreanduefi-dxe-coreintoqemu-rust-bins.</blockquote> <hr> </details>
🐛 Bug Fixes
-
dxe\_core: GCD: Silently Fail Free Calls During EBS @os-d (#179)
Change Details
## Description
The original commit that disallowed alloc/free during EBS accidently went too far and debug_asserted and returned an error on all frees during EBS. This was originally only intended for runtime memory types, as those would change the OS memory map. This now blocks platforms and so is fixed by silently failing all frees. The runtime types will be debug_asserted and return an error, but that requires more code reorganization, so is deferred for now and tracked in a GH issue. See the comment in this commit for more details.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Tested on a physical platform that was failing the free assert.
Integration Instructions
N/A.
</blockquote> <hr> </details>
Full Changelog: v4.0.0...v5.0.0