| From 132d00becb31e88469334e1e62751c81345280e0 Mon Sep 17 00:00:00 2001 |
| From: Maurizio Lombardi <mlombard@redhat.com> |
| Date: Tue, 4 Dec 2018 00:06:53 -0500 |
| Subject: ext4: missing unlock/put_page() in ext4_try_to_write_inline_data() |
| |
| From: Maurizio Lombardi <mlombard@redhat.com> |
| |
| 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> |
| |
| --- |
| fs/ext4/inline.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/fs/ext4/inline.c |
| +++ b/fs/ext4/inline.c |
| @@ -702,8 +702,11 @@ int ext4_try_to_write_inline_data(struct |
| |
| 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; |