mirror of
https://github.com/tianocore/edk2
synced 2026-08-27 00:23:19 -04:00
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> |
||
|---|---|---|
| .. | ||
| Application/VConfig | ||
| ArpDxe | ||
| Dhcp4Dxe | ||
| Dhcp6Dxe | ||
| DnsDxe | ||
| DpcDxe | ||
| HttpBootDxe | ||
| HttpDxe | ||
| HttpUtilitiesDxe | ||
| Include | ||
| Ip4Dxe | ||
| Ip6Dxe | ||
| IScsiDxe | ||
| Library | ||
| MnpDxe | ||
| Mtftp4Dxe | ||
| Mtftp6Dxe | ||
| SnpDxe | ||
| TcpDxe | ||
| Test | ||
| TlsAuthConfigDxe | ||
| TlsDxe | ||
| Udp4Dxe | ||
| Udp6Dxe | ||
| UefiPxeBcDxe | ||
| VlanConfigDxe | ||
| WifiConnectionManagerDxe | ||
| Network.dsc.inc | ||
| Network.fdf.inc | ||
| NetworkBuildOptions.dsc.inc | ||
| NetworkComponents.dsc.inc | ||
| NetworkDefines.dsc.inc | ||
| NetworkDynamicPcds.dsc.inc | ||
| NetworkFixedPcds.dsc.inc | ||
| NetworkLibs.dsc.inc | ||
| NetworkPkg.ci.yaml | ||
| NetworkPkg.dec | ||
| NetworkPkg.dsc | ||
| NetworkPkg.uni | ||
| NetworkPkgExtra.uni | ||
| SecurityFixes.yaml | ||