f2fs: fix to trigger fsck if dirent.name_len is zero
While traversing dirents in f2fs_fill_dentries(), if bitmap is valid, filename length should not be zero, otherwise, directory structure consistency could be corrupted, in this case, let's print related info and set SBI_NEED_FSCK to trigger fsck for repairing. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
c20e57b32d
commit
ddf06b753a
|
@ -800,6 +800,10 @@ int f2fs_fill_dentries(struct dir_context *ctx, struct f2fs_dentry_ptr *d,
|
||||||
if (de->name_len == 0) {
|
if (de->name_len == 0) {
|
||||||
bit_pos++;
|
bit_pos++;
|
||||||
ctx->pos = start_pos + bit_pos;
|
ctx->pos = start_pos + bit_pos;
|
||||||
|
printk_ratelimited(
|
||||||
|
"%s, invalid namelen(0), ino:%u, run fsck to fix.",
|
||||||
|
KERN_WARNING, le32_to_cpu(de->ino));
|
||||||
|
set_sbi_flag(sbi, SBI_NEED_FSCK);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue