Description for this pull request:
- Handle vendor extension and allocation entries as unrecognized benign secondary entries.
- Fix wrong ->i_blocks on devices with non-512 byte sector.
- Add the check to avoid returning -EIO from exfat_readdir() at current position exceeding the directory size.
- Fix a bug that reach the end of the directory stream at a position not aligned with the dentry size.
- Redefine DIR_DELETED as 0xFFFFFFF7, the bad cluster number.
- Two cleanup fixes and fix cluster leakage in error handling.
exfat: fix the newly allocated clusters are not freed in error handling

In error handling 'free_cluster', before num_alloc clusters allocated,
p_chain->size will not updated and always 0, thus the newly allocated
clusters are not freed.

Signed-off-by: Yuezhang Mo <>
Reviewed-by: Andy Wu <>
Reviewed-by: Sungjong Seo <>
Signed-off-by: Namjae Jeon <>
1 file changed