On Sat, Jul 5, 2025 at 5:24 PM Yuezhang.Mo@xxxxxxxx <Yuezhang.Mo@xxxxxxxx> wrote: > > An infinite loop may occur if the following conditions occur due to > file system corruption. > > (1) Condition for exfat_count_dir_entries() to loop infinitely. > - The cluster chain includes a loop. > - There is no UNUSED entry in the cluster chain. > > (2) Condition for exfat_create_upcase_table() to loop infinitely. > - The cluster chain of the root directory includes a loop. > - There are no UNUSED entry and up-case table entry in the cluster > chain of the root directory. > > (3) Condition for exfat_load_bitmap() to loop infinitely. > - The cluster chain of the root directory includes a loop. > - There are no UNUSED entry and bitmap entry in the cluster chain > of the root directory. > > (4) Condition for exfat_find_dir_entry() to loop infinitely. > - The cluster chain includes a loop. > - The unused directory entries were exhausted by some operation. > > (5) Condition for exfat_check_dir_empty() to loop infinitely. > - The cluster chain includes a loop. > - The unused directory entries were exhausted by some operation. > - All files and sub-directories under the directory are deleted. > > This commit adds checks to break the above infinite loop. > > Signed-off-by: Yuezhang Mo <Yuezhang.Mo@xxxxxxxx> Applied it to #dev. Thanks!