diff options
author | Maurizio Lombardi <mlombard@redhat.com> | 2018-12-04 00:06:53 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-01-09 16:16:43 +0100 |
commit | eaec103eb0c3a1f0d2e9fe704cc7800aaedf4b0b (patch) | |
tree | 28d58ed0633b44440ebddb789784118ab150be9b | |
parent | 836bf269c56ff1d707b40a64dc8eef6754c2c24e (diff) | |
download | linux-stable-eaec103eb0c3a1f0d2e9fe704cc7800aaedf4b0b.tar.gz linux-stable-eaec103eb0c3a1f0d2e9fe704cc7800aaedf4b0b.tar.bz2 linux-stable-eaec103eb0c3a1f0d2e9fe704cc7800aaedf4b0b.zip |
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>
-rw-r--r-- | fs/ext4/inline.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c index d06cfe372609..1008384d5ed5 100644 --- a/fs/ext4/inline.c +++ b/fs/ext4/inline.c @@ -702,8 +702,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; |