diff mbox series

ext4: missing unlock/put_page() in ext4_try_to_write_inline_data()

Message ID 1543310705-11051-1-git-send-email-mlombard@redhat.com
State Accepted, archived
Headers show
Series ext4: missing unlock/put_page() in ext4_try_to_write_inline_data() | expand

Commit Message

Maurizio Lombardi Nov. 27, 2018, 9:25 a.m. UTC
In case of error, ext4_try_to_write_inline_data() should unlock
and release the page it holds.

Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
---
 fs/ext4/inline.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Theodore Ts'o Dec. 4, 2018, 5:12 a.m. UTC | #1
On Tue, Nov 27, 2018 at 10:25:05AM +0100, Maurizio Lombardi wrote:
> In case of error, ext4_try_to_write_inline_data() should unlock
> and release the page it holds.
> 
> Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>

Thanks, applied.

						- Ted
diff mbox series

Patch

diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
index 9c4bac1..27373d8 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;