Branch: refs/heads/UDK2015 Home: https://github.com/tianocore/edk2 Commit: 49680c684f7b0e3e77d7190943f842ca06b84c50 https://github.com/tianocore/edk2/commit/49680c684f7b0e3e77d7190943f842ca06b84c50 Author: Hao Wu <hao.a...@intel.com> Date: 2016-08-02 (Tue, 02 Aug 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> (cherry picked from commit e33257215b984fd624cc51b33e9cc14d7321eab6)
------------------------------------------------------------------------------
_______________________________________________ edk2-commits mailing list edk2-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-commits