From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753009AbbCYBej (ORCPT ); Tue, 24 Mar 2015 21:34:39 -0400 Received: from mx2.gtisc.gatech.edu ([143.215.130.82]:57494 "EHLO mx2.gtisc.gatech.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752059AbbCYBeh (ORCPT ); Tue, 24 Mar 2015 21:34:37 -0400 From: Chengyu Song To: dushistov@mail.ru, linux-kernel@vger.kernel.org Cc: taesoo@gatech.edu, changwoo@gatech.edu, sanidhya@gatech.edu, blee@gatech.edu, csong84@gatech.edu Subject: [PATCH 1/1] ufs: missing check for block_truncate_page Date: Tue, 24 Mar 2015 21:31:16 -0400 Message-Id: <1427247076-9873-1-git-send-email-csong84@gatech.edu> X-Mailer: git-send-email 2.1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org block_truncate_page may fail under certain circumstances, so its result should be checked. Signed-off-by: Chengyu Song --- fs/ufs/truncate.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/ufs/truncate.c b/fs/ufs/truncate.c index f04f89f..8b41f07 100644 --- a/fs/ufs/truncate.c +++ b/fs/ufs/truncate.c @@ -464,7 +464,12 @@ int ufs_truncate(struct inode *inode, loff_t old_i_size) goto out; } - block_truncate_page(inode->i_mapping, inode->i_size, ufs_getfrag_block); + err = block_truncate_page(inode->i_mapping, inode->i_size, ufs_getfrag_block); + + if (err) { + i_size_write(inode, old_i_size); + goto out; + } while (1) { retry = ufs_trunc_direct(inode); -- 2.1.0