v2023020003.2.1
What's Changed
🐛 Bug Fixes
-
Fixed logic related to DxeCore only advanced logger @apop5 (#359)
Change Details
## Description
When using advanced logger starting from DxeCore, the library constructor will allocate space for the advanced logger buffer.
When this allocation takes place, the associated global variablemMaxAddress
will be created to specify the last address for the log buffer.In the DxeCore case, the calculation for
mMaxAddress
did not take into account the size of theADVANCED_LOGGER_INFO
structure that is at the start of the buffer, resulting in an inconsistent address betweenmMaxAddress
andLoggerInfo->LogBuffer + LoggerInfo->LogBufferSize
All other instances of this code use
LoggerInfo->LogBuffer + LoggerInfo->LogBufferSize
, so change DxeCore library instance to use the same logic as other library instances.For each item, place an "x" in between
[
and]
if true. Example:[x]
.
(you can also check items in the GitHub UI)- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- Includes tests?
- Tests - Does the change include any explicit test code?
- Examples: Unit tests, integration tests, robot tests, ...
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Found by setting debug messages to such a high level that the end of the buffer was reached, resulting in incorrect checks of
mMaxAddress
overwriting the end of the buffer.Incorrect logic was tripped up in
ValidateInfoBlock()
wheremMaxAddress
would cause a return offalse
, which in turn would result in NULL being returned from an arbitrary call toAdvancedLoggerGetLoggerInfo
.Integration Instructions
n/a
- Impacts functionality?
📖 Documentation Updates
-
Add log retrieval info to main readme @apop5 (#355)
Change Details
## Description
Log retrieval information is not as accessible as it could be. Adding some blurbs to make the information more accessible at the top level.
- Impacts functionality?
- Functionality - Does the change ultimately impact how firmware functions?
- Examples: Add a new library, publish a new PPI, update an algorithm, ...
- 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, ...
- Security - Does the change have a direct security impact on an application,
- 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, ...
- Breaking change - Will anyone consuming this change experience a break
- Includes tests?
- Tests - Does the change include any explicit test code?
- Examples: Unit tests, integration tests, robot tests, ...
- 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, ...
- Documentation - Does the change contain explicit documentation additions
How This Was Tested
Ran CI locally.
Integration Instructions
N/A
- Impacts functionality?
Full Changelog: v2023020003.2.0...v2023020003.2.1