diff options
author | Marc Chen <marc.chen@microsoft.com> | 2025-09-30 08:04:56 +0300 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2025-10-01 19:46:03 +0300 |
commit | d3a64baf4b6706367c30a4886c01e95589861c9f (patch) | |
tree | ece5a7bda13d2684797cca9b7c3887cfad2862a7 /BaseTools/Source/Python/GenFds/OptRomFileStatement.py | |
parent | 90771630bfe123de8e4bacc96f98ffe4d8308153 (diff) | |
download | edk2-d3a64baf4b6706367c30a4886c01e95589861c9f.tar.xz |
NetworkPkg/UefiPxeBcDxe: Add buffer check before reporting status code
When PxeBcLoadBootFile() fails, it reports a status code to notify
listeners (such as telemetry/SEL logging drivers) about the error.
However, the current implementation reports the status code for all
error conditions, including benign cases, such as where the caller passes
Buffer == NULL with EFI_BUFFER_TOO_SMALL to query the required size.
This causes false positive error reports in telemetry systems, as
EFI_BUFFER_TOO_SMALL with Buffer == NULL is an expected and normal
operation for size queries, not an actual error condition.
The PXE-E05 error message is already correctly guarded with the
condition "(Status == EFI_BUFFER_TOO_SMALL) && (Buffer != NULL)",
but the status code reporting was unconditional.
Add a buffer null check before REPORT_STATUS_CODE_WITH_EXTENDED_DATA
to ensure status codes are only reported for actual errors:
- Report when Status != EFI_BUFFER_TOO_SMALL (all other errors)
- Report when Status == EFI_BUFFER_TOO_SMALL AND Buffer != NULL (PXE-E05)
- Skip when Status == EFI_BUFFER_TOO_SMALL AND Buffer == NULL (size query)
This prevents spurious error logs while maintaining proper error
reporting for genuine failures including PXE-E05, PXE-E07, PXE-E09,
PXE-E99, and all other error conditions.
Signed-off-by: Marc Chen <marc.chen@microsoft.com>
Diffstat (limited to 'BaseTools/Source/Python/GenFds/OptRomFileStatement.py')
0 files changed, 0 insertions, 0 deletions