>> Fixes: 8a3f5711ad74 ("exfat: reduce FAT chain traversal") > This issue caused by this patch ? If yes, Could you elaborate how this patch make this issue ? Yes. This issue caused by the change in this patch. - return dentry; + p_dir->dir = exfat_sector_to_cluster(sbi, es->bh[0]->b_blocknr); + p_dir->size -= dentry / sbi->dentries_per_clu; + + return dentry & (sbi->dentries_per_clu - 1); } 'dentry' is -EIO or -ENOMEM when reading directory entries fails. "dentry & (sbi->dentries_per_clu - 1)" makes the return value a positive value, so that exfat_add_entry() always thinks that the directory entry is read successfully. > I can not reproduce it using C-reproducer. Have you reproduced it ? This issue occurs when reading directory entries fails(this can be confirmed by https://syzkaller.appspot.com/text?tag=Patch&x=1068bd30580000). Reproducing it requires a disk with bad blocks, I can not reproduce it too.