diff options
author | Hao Wu <hao.a.wu@intel.com> | 2018-04-14 11:06:13 +0800 |
---|---|---|
committer | Hao Wu <hao.a.wu@intel.com> | 2018-04-18 15:08:14 +0800 |
commit | 255101471918ed8840f2be347916b90eef0e9c08 (patch) | |
tree | 2d7de144773b3c66e1fdfc00f2f232d7542c60f6 /BaseTools | |
parent | 104bbee55e1f90d8c7ae64d0d319c9dbfb24e06c (diff) | |
download | edk2-255101471918ed8840f2be347916b90eef0e9c08.tar.gz edk2-255101471918ed8840f2be347916b90eef0e9c08.tar.bz2 edk2-255101471918ed8840f2be347916b90eef0e9c08.zip |
FatPkg/EnhancedFatDxe: Ensure traverse of subtasks is delete-safe
Within function FatQueueTask(), the traverse of FAT subtasks for
executing the disk read/write is not delete-safe.
For the below case:
FatDiskIo(): When non-blocking access, creates subtasks and creates
event (FatOnAccessComplete, NOTIFY level) when subtasks finish.
FatQueueTask(): Traverses the subtasks and submits them one by one at
Tpl lower than NOTIFY.
Disk R/W completes really quick.
FatOnAccessComplete(): Removes the finished subtask, causing the
traverse in FatQueueTask() broken.
This commits will refine the subtask traverse in FatQueueTask() to be
delete-safe.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Diffstat (limited to 'BaseTools')
0 files changed, 0 insertions, 0 deletions