From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751842AbbGIKU5 (ORCPT ); Thu, 9 Jul 2015 06:20:57 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:46747 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751237AbbGIKUt (ORCPT ); Thu, 9 Jul 2015 06:20:49 -0400 X-AuditID: cbfee61a-f79516d000006302-eb-559e4aff1490 From: Chao Yu To: Jaegeuk Kim Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: [PATCH] f2fs: fix to release inode page in get_new_data_page Date: Thu, 09 Jul 2015 18:20:08 +0800 Message-id: <00f301d0ba30$ebe95b80$c3bc1280$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-index: AdC6MDOWZU6cFsVEStOnZWRoQsfxHA== Content-language: zh-cn X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrJLMWRmVeSWpSXmKPExsVy+t9jQd3/XvNCDfa8lbN4sn4Ws8WlRe4W l3fNYXNg9ti0qpPNY/eCz0wenzfJBTBHcdmkpOZklqUW6dslcGW0/LrCWvCItWLG0TnMDYyX WboYOTkkBEwkHp3cywRhi0lcuLeerYuRi0NIYDqjxJUFPxghnFeMEhu3bWEEqWITUJFY3vEf rEMEyD606DI7iM0s4CHR2PGdFcQWFnCVOPx3KlicRUBVYtq2uWC9vAKWEjPbO1ggbEGJH5Pv sUD0akms33mcCcKWl9i85i0zxEUKEjvOvmaE2KUn8ePXBqgacYmNR26xTGAUmIVk1Cwko2Yh GTULScsCRpZVjKKpBckFxUnpuYZ6xYm5xaV56XrJ+bmbGMEB/ExqB+PKBotDjAIcjEo8vA07 54YKsSaWFVfmHmKU4GBWEuHV85wXKsSbklhZlVqUH19UmpNafIhRmoNFSZz3ZL5PqJBAemJJ anZqakFqEUyWiYNTqoFxQ2mq/W3nJwdcmM8/3NN85OqDXfGnejjWqrj3v4wP/Kr1Yc6GdSfF Nm8+XXv3rPk674Vl6UvPH3/6bt5hOd6CudaWrD82XukV9pRzYwi7wW498U39tfAtRwr3Kvy7 bGrnc/Kc6jcFLcO/ZYe6K547PH/xZ/uhV7OltnlpR2WLtT59U//76hMfXiWW4oxEQy3mouJE ACwyT8ZcAgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org get_new_data_page should release inode page when we encounter any error in its procedure, but there is one error path didn't cover this, fix it. Signed-off-by: Chao Yu --- fs/f2fs/data.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 08dfdc6..ea8898b 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -397,8 +397,10 @@ struct page *get_new_data_page(struct inode *inode, int err; repeat: page = grab_cache_page(mapping, index); - if (!page) + if (!page) { + f2fs_put_page(ipage, 1); return ERR_PTR(-ENOMEM); + } set_new_dnode(&dn, inode, ipage, NULL, 0); err = f2fs_reserve_block(&dn, index); -- 2.4.2