audk/MdeModulePkg
Ruiyu Ni b659b503fa MdeModulePkg/UsbBus: Fix system hang when failed to uninstall UsbIo
When "reconnect -r" is typed in shell, UsbFreeInterface() is called
to uninstall the UsbIo and DevicePath. But When a UsbIo is opened
by a driver and that driver rejects to close the UsbIo in Stop(),
the uninstall doesn't succeed.
But UsbFreeInterface () frees the DevicePath memory without check
whether the uninstall succeeds.
It leads to the DXE core database contain a DevicePath instance but
that instance's memory is freed.
Assertion happens when someone calls InstallProtocol(DevicePath)
because the InstallProtocol() checks all DevicePath instance to
find whether the same one exits in database.

We haven't seen any USB device driver which rejects to close UsbIo
in Stop(), but it's very likely.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
2017-06-02 12:59:27 +08:00
..
Application MdeModulePkg MemoryProfileInfo: Use PdbStringOffset to get PDB info 2017-05-24 15:27:35 +08:00
Bus MdeModulePkg/UsbBus: Fix system hang when failed to uninstall UsbIo 2017-06-02 12:59:27 +08:00
Core MdeModulePkg SmiHandlerProfile: Use fixed data type in data structure 2017-05-24 15:27:34 +08:00
Include MdeModulePkg SmiHandlerProfile: Use fixed data type in data structure 2017-05-24 15:27:34 +08:00
Library MdeModulePkg/PrintLib: Avoid reading content beyond the format string 2017-06-01 08:46:40 +08:00
Logo MdeModulePkg/LogoDxe: Return error if HII Package not present 2017-05-22 16:30:11 -07:00
Universal MdeModulePkg/DebugSupportDxe: Fix XCODE5 build failure 2017-05-24 16:44:21 -07:00
Contributions.txt
License.txt
MdeModulePkg.dec MdeModulePkg/Include: Add IOMMU protocol definition. 2017-05-17 16:05:12 +08:00
MdeModulePkg.dsc MdeModulePkg: Update DEC/DSC version from 0.96 to 0.97 2017-05-05 15:55:09 +08:00
MdeModulePkg.uni MdeModulePkg: Add PROMPT&HELP string of pcd to UNI file 2017-03-07 21:47:19 +08:00
MdeModulePkgExtra.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00