]> git.proxmox.com Git - mirror_edk2.git/commit
NetworkPkg: Fix service binding issue in TCP dxe.
authorZhang Lubo <lubo.zhang@intel.com>
Thu, 16 Mar 2017 09:52:51 +0000 (17:52 +0800)
committerJiaxin Wu <jiaxin.wu@intel.com>
Fri, 17 Mar 2017 02:14:37 +0000 (10:14 +0800)
commitd555699b3ccda17b79abc436d191228921d2631c
treeab2a8b475969f38948d4ebed9f16bd011c3522ec
parent4bb89650f5dd77a9807915ced2f454b8d39a323f
NetworkPkg: Fix service binding issue in TCP dxe.

v2: Handle error case in SockCreateChild and fix typo issue

when we destroy the socket Sock and its associated
protocol control block, we need to first close the
parent protocol, then remove the protocol from childHandle
and last to free any data structures that allocated in
CreateChild. But currently, we free the socket data (Socket ConfigureState)
before removing the protocol form  the childhandle. So if the up layer
perform the driverbing stop to abort tcp session and send the tcp reset
packet, it will failed.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
NetworkPkg/TcpDxe/SockImpl.c
NetworkPkg/TcpDxe/SockImpl.h
NetworkPkg/TcpDxe/SockInterface.c
NetworkPkg/TcpDxe/TcpDispatcher.c