]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
f2fs: avoid infinite loop in f2fs_alloc_nid
authorJaegeuk Kim <jaegeuk@kernel.org>
Wed, 19 Sep 2018 22:45:19 +0000 (15:45 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 20 Sep 2018 21:49:19 +0000 (14:49 -0700)
If we have an error in f2fs_build_free_nids, we're able to fall into a loop
to find free nids.

Suggested-by: Chao Yu <chao@kernel.org>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/node.c

index fa2381c0bc475ecada0fbdeaafc5a86ef06bcda4..d62f53096b55731c8fa87cc9317fe54492ff6c8c 100644 (file)
@@ -2350,8 +2350,9 @@ retry:
        spin_unlock(&nm_i->nid_list_lock);
 
        /* Let's scan nat pages and its caches to get free nids */
-       f2fs_build_free_nids(sbi, true, false);
-       goto retry;
+       if (!f2fs_build_free_nids(sbi, true, false))
+               goto retry;
+       return false;
 }
 
 /*