Re: [PATCH] fs: f2fs: remove WARN_ON in f2fs_is_valid_blkaddr

From: Dongliang Mu
Date: Fri Apr 08 2022 - 21:34:39 EST


On Sat, Apr 9, 2022 at 8:27 AM Chao Yu <chao@xxxxxxxxxx> wrote:
>
> On 2022/4/8 13:22, Dongliang Mu wrote:
> > From: Dongliang Mu <mudongliangabcd@xxxxxxxxx>
> >
> > In f2fs_is_valid_blkaddr, if type is DATA_GENERIC_ENHANCE or
> > DATA_GENERIC_ENHANCE_READ, it invokes WARN_ON(1) not matter
> > blkaddr is in the range or not.
>
> If we run into the path where we invoke WARN_ON(1) in f2fs_is_valid_blkaddr(),
> It means f2fs image may be broken, or there is a bug in f2fs.
>
> So, do you suffer any related issue in your environment?

related issue? Can you explain a little?

If you mean if this warning occurs, any other issues or crash
behaviors are generated? I tested on the syzbot. After removing the
WARN_ON, there is no abnormal issue or crash behaviors followed with
the corresponding reproducer.


>
> Thanks,
>
> >
> > Fix this by removing WARN_ON.
> >
> > Note that, syzbot patch testing does not incur any further issues
> >
> > Reported-by: syzbot+763ae12a2ede1d99d4dc@xxxxxxxxxxxxxxxxxxxxxxxxx
> > Signed-off-by: Dongliang Mu <mudongliangabcd@xxxxxxxxx>
> > ---
> > fs/f2fs/checkpoint.c | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
> > index f5366feea82d..521498b2dd8c 100644
> > --- a/fs/f2fs/checkpoint.c
> > +++ b/fs/f2fs/checkpoint.c
> > @@ -158,7 +158,6 @@ static bool __is_bitmap_valid(struct f2fs_sb_info *sbi, block_t blkaddr,
> > f2fs_err(sbi, "Inconsistent error blkaddr:%u, sit bitmap:%d",
> > blkaddr, exist);
> > set_sbi_flag(sbi, SBI_NEED_FSCK);
> > - WARN_ON(1);
> > }
> > return exist;
> > }
> > @@ -196,7 +195,6 @@ bool f2fs_is_valid_blkaddr(struct f2fs_sb_info *sbi,
> > f2fs_warn(sbi, "access invalid blkaddr:%u",
> > blkaddr);
> > set_sbi_flag(sbi, SBI_NEED_FSCK);
> > - WARN_ON(1);
> > return false;
> > } else {
> > return __is_bitmap_valid(sbi, blkaddr, type);