Re: [PATCH v1] exfat: fix unexpected EOF while reading dir

From: Namjae Jeon
Date: Thu Dec 29 2022 - 20:33:39 EST


2022-12-26 16:23 GMT+09:00, Yuezhang.Mo@xxxxxxxx <Yuezhang.Mo@xxxxxxxx>:
> If the position is not aligned with the dentry size, the return
> value of readdir() will be NULL and errno is 0, which means the
> end of the directory stream is reached.
>
> If the position is aligned with dentry size, but there is no file
> or directory at the position, exfat_readdir() will continue to
> get dentry from the next dentry. So the dentry gotten by readdir()
> may not be at the position.
>
> After this commit, if the position is not aligned with the dentry
> size, round the position up to the dentry size and continue to get
> the dentry.
>
> Fixes: ca06197382bd ("exfat: add directory operations")
>
> Signed-off-by: Yuezhang Mo <Yuezhang.Mo@xxxxxxxx>
> Reviewed-by: Andy Wu <Andy.Wu@xxxxxxxx>
> Reviewed-by: Aoyama Wataru <wataru.aoyama@xxxxxxxx>
> Reported-by: Wang Yugui <wangyugui@xxxxxxxxxxxx>
Applied, Thanks for your patch!