f2fs: fix missing up_read
authorJaegeuk Kim <jaegeuk@kernel.org>
Fri, 28 Sep 2018 05:15:31 +0000 (22:15 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 8 Dec 2018 12:05:14 +0000 (13:05 +0100)
commit 89d13c38501df730cbb2e02c4499da1b5187119d upstream.

This patch fixes missing up_read call.

Fixes: c9b60788fc76 ("f2fs: fix to do sanity check with block address in main area")
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/f2fs/node.c

index 0256e15af8bc208478850cf9f371894d6311d689..f4fe54047fb714041b8dc55c0fd514fc41536abc 100644 (file)
@@ -1606,8 +1606,10 @@ static int f2fs_write_node_page(struct page *page,
        }
 
        if (__is_valid_data_blkaddr(ni.blk_addr) &&
-               !f2fs_is_valid_blkaddr(sbi, ni.blk_addr, DATA_GENERIC))
+               !f2fs_is_valid_blkaddr(sbi, ni.blk_addr, DATA_GENERIC)) {
+               up_read(&sbi->node_write);
                goto redirty_out;
+       }
 
        set_page_writeback(page);
        fio.old_blkaddr = ni.blk_addr;