audk/FatPkg/EnhancedFatDxe
Hao Wu 2551014719 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>
2018-04-18 15:08:14 +08:00
..
ComponentName.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
Data.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
Delete.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
DirectoryCache.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
DirectoryManage.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
DiskCache.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
Fat.c FatPkg/EnhancedFatDxe: Add comments for functions 2016-12-09 11:02:09 +08:00
Fat.h FatPkg/EnhancedFatDxe: Add comments for functions 2016-12-09 11:02:09 +08:00
Fat.inf FatPkg: Fix format issues in dec/inf/dsc files 2016-12-09 11:02:10 +08:00
Fat.uni FatPkg: INF/DEC file updates to EDK II packages 2016-04-06 23:22:43 -07:00
FatExtra.uni FatPkg: INF/DEC file updates to EDK II packages 2016-04-06 23:22:43 -07:00
FatFileSystem.h FatPkg: Explicitly declare FAT_CLUSTER_SPECIAL as unsigned type 2017-01-12 21:26:27 +08:00
FileName.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
FileSpace.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
Flush.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
Hash.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
Info.c FatPkg/EnhancedFatDxe: Add comments for functions 2016-12-09 11:02:09 +08:00
Init.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
Misc.c FatPkg/EnhancedFatDxe: Ensure traverse of subtasks is delete-safe 2018-04-18 15:08:14 +08:00
Open.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
OpenVolume.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00
ReadWrite.c FatPkg: Refine casting expression result to bigger size 2017-03-06 14:33:21 +08:00
UnicodeCollation.c FatPkg/EnhancedFatDxe: Make the comments align with EDKIIcoding style 2016-12-09 11:02:09 +08:00