Branch: refs/heads/master
Home: https://github.com/tianocore/edk2
Commit: e33257215b984fd624cc51b33e9cc14d7321eab6
https://github.com/tianocore/edk2/commit/e33257215b984fd624cc51b33e9cc14d7321eab6
Author: Hao Wu <hao.a...@intel.com>
Date: 2016-03-29 (Tue, 29 Mar 2016)
Changed paths:
M MdeModulePkg/Universal/Disk/PartitionDxe/Partition.c
M MdeModulePkg/Universal/Disk/PartitionDxe/Partition.h
Log Message:
-----------
MdeModulePkg PartitionDxe: Add Re-entry handling logic for BindingStop
There are scenario when the BindingStop service of PartitionDxe driver be
re-entered.
An example will be ejecting a DVD from a SATA DVDROM and then run
"reconnect -r" under shell. In this specific case, part of the calling
stack will be:
PartitionDriverBindingStop() (PartitionDxe) ->
Stop first child handle (PartitionDxe) ->
ScsiDiskFlushBlocksEx() (ScsiDiskDxe) ->
A media change is detected (ScsiDiskDxe) ->
Reinstall of BlockIO(2) protocols (ScsiDiskDxe) ->
Entering PartitionDriverBindingStop() again (PartitionDxe) ->
Potential risk of referencing already stopped child handle (PartitionDxe)
...
The current code has potential issue of referencing of already stopped
child handle. This commit adds re-entry handling logic to resolve such
issue.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a...@intel.com>
Reviewed-by: Feng Tian <feng.t...@intel.com>
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140
_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits