Skip to content

v2023020003.2.1

Compare
Choose a tag to compare
@github-actions github-actions released this 14 Nov 23:30
· 76 commits to refs/heads/release/202302 since this release
9ce0c1f

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 variable mMaxAddress 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 the ADVANCED_LOGGER_INFO structure that is at the start of the buffer, resulting in an inconsistent address between mMaxAddress and LoggerInfo->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, ...
    • 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, ...
    • 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, ...

    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() where mMaxAddress would cause a return of false, which in turn would result in NULL being returned from an arbitrary call to AdvancedLoggerGetLoggerInfo.

    Integration Instructions

    n/a




📖 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, ...
    • 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, ...
    • 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, ...

    How This Was Tested

    Ran CI locally.

    Integration Instructions

    N/A




Full Changelog: v2023020003.2.0...v2023020003.2.1