diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c index 9c4bac18cc6c0c58a588dafcecc689f6ebe46b1a..27373d88b5f0115341b4c574599bd21ee8767fee 100644 --- a/fs/ext4/inline.c +++ b/fs/ext4/inline.c @@ -705,8 +705,11 @@ int ext4_try_to_write_inline_data(struct address_space *mapping, if (!PageUptodate(page)) { ret = ext4_read_inline_page(inode, page); - if (ret < 0) + if (ret < 0) { + unlock_page(page); + put_page(page); goto out_up_read; + } } ret = 1;