summaryrefslogtreecommitdiff
path: root/fs/ext4/inline.c
diff options
context:
space:
mode:
authorMaurizio Lombardi <mlombard@redhat.com>2018-12-04 08:06:53 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-01-13 12:07:11 +0300
commitcf161cde3d8e227a6b6b54cfda853f6a412bc71e (patch)
treefcb88272f2abbe0a3cc81536546ac7c642fc9053 /fs/ext4/inline.c
parentd3f10a0116520e6ed383246eb877664c83308232 (diff)
downloadlinux-cf161cde3d8e227a6b6b54cfda853f6a412bc71e.tar.xz
ext4: missing unlock/put_page() in ext4_try_to_write_inline_data()
commit 132d00becb31e88469334e1e62751c81345280e0 upstream. In case of error, ext4_try_to_write_inline_data() should unlock and release the page it holds. Fixes: f19d5870cbf7 ("ext4: add normal write support for inline data") Cc: stable@kernel.org # 3.8 Signed-off-by: Maurizio Lombardi <mlombard@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/ext4/inline.c')
-rw-r--r--fs/ext4/inline.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
index a555039ba7f3..e7ede777cf3f 100644
--- a/fs/ext4/inline.c
+++ b/fs/ext4/inline.c
@@ -696,8 +696,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;