audk/NetworkPkg/TcpDxe
Sam ced13b93af NetworkPkg TcpDxe: Fixed system stuck on PXE boot flow in iPXE environment
This bug fix is based on the following commit "NetworkPkg TcpDxe: SECURITY PATCH"
REF: 1904a64

Issue Description:
An "Invalid handle" error was detected during runtime when attempting to destroy a child instance of the hashing protocol. The problematic code segment was:

NetworkPkg\TcpDxe\TcpDriver.c
Status = Hash2ServiceBinding->DestroyChild(Hash2ServiceBinding, ​&mHash2ServiceHandle);

Root Cause Analysis:
The root cause of the error was the passing of an incorrect parameter type, a pointer to an EFI_HANDLE instead of an EFI_HANDLE itself, to the DestroyChild function. This mismatch resulted in the function receiving an invalid handle.

Implemented Solution:
To resolve this issue, the function call was corrected to pass mHash2ServiceHandle directly:

NetworkPkg\TcpDxe\TcpDriver.c
Status = Hash2ServiceBinding->DestroyChild(Hash2ServiceBinding, mHash2ServiceHandle);

This modification ensures the correct handle type is used, effectively rectifying the "Invalid handle" error.

Verification:
Testing has been conducted, confirming the efficacy of the fix. Additionally, the BIOS can boot into the OS in an iPXE environment.

Cc: Doug Flick [MSFT] <doug.edk2@gmail.com>

Signed-off-by: Sam Tsai [Wiwynn] <sam_tsai@wiwynn.com>
Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
2024-05-30 21:06:38 +00:00
..
ComponentName.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SockImpl.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SockImpl.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SockInterface.c NetworkPkg/TcpDxe: Fix debug macro arguments 2022-09-09 01:42:39 +00:00
Socket.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcpDispatcher.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcpDriver.c NetworkPkg TcpDxe: Fixed system stuck on PXE boot flow in iPXE environment 2024-05-30 21:06:38 +00:00
TcpDriver.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcpDxe.inf NetworkPkg TcpDxe: SECURITY PATCH CVE-2023-45236 2024-05-24 15:48:52 +00:00
TcpDxe.uni NetworkPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:15 -07:00
TcpDxeExtra.uni NetworkPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:15 -07:00
TcpFunc.h NetworkPkg TcpDxe: SECURITY PATCH CVE-2023-45236 2024-05-24 15:48:52 +00:00
TcpInput.c NetworkPkg TcpDxe: SECURITY PATCH CVE-2023-45236 2024-05-24 15:48:52 +00:00
TcpIo.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcpMain.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcpMain.h NetworkPkg TcpDxe: SECURITY PATCH CVE-2023-45236 2024-05-24 15:48:52 +00:00
TcpMisc.c NetworkPkg TcpDxe: SECURITY PATCH CVE-2023-45236 2024-05-24 15:48:52 +00:00
TcpOption.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcpOption.h NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcpOutput.c NetworkPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcpProto.h NetworkPkg: RFC1323 definition changed to RFC7323 2024-01-16 01:17:34 +00:00
TcpTimer.c NetworkPkg TcpDxe: SECURITY PATCH CVE-2023-45236 2024-05-24 15:48:52 +00:00