fs/ntfs3: Break dir enumeration if directory contents error
If we somehow attempt to read beyond the directory size, an error is supposed to be returned. However, in some cases, read requests do not stop and instead enter into a loop. To avoid this, we set the position in the directory to the end. Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com> Cc: stable@vger.kernel.org
This commit is contained in:
parent
05afeeebca
commit
302e9dca84
@ -475,6 +475,7 @@ static int ntfs_readdir(struct file *file, struct dir_context *ctx)
|
|||||||
vbo = (u64)bit << index_bits;
|
vbo = (u64)bit << index_bits;
|
||||||
if (vbo >= i_size) {
|
if (vbo >= i_size) {
|
||||||
ntfs_inode_err(dir, "Looks like your dir is corrupt");
|
ntfs_inode_err(dir, "Looks like your dir is corrupt");
|
||||||
|
ctx->pos = eod;
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user