From patchwork Sat May 28 06:16:56 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manish Katiyar X-Patchwork-Id: 97767 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id A5847B6F8B for ; Sat, 28 May 2011 16:17:31 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751473Ab1E1GRa (ORCPT ); Sat, 28 May 2011 02:17:30 -0400 Received: from mail-pv0-f174.google.com ([74.125.83.174]:61821 "EHLO mail-pv0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751466Ab1E1GRa (ORCPT ); Sat, 28 May 2011 02:17:30 -0400 Received: by pvg12 with SMTP id 12so1038444pvg.19 for ; Fri, 27 May 2011 23:17:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:cc:subject:date:message-id:x-mailer; bh=uqKpWiPcSrOIHgZ6XdRVFZIRyr/eWSym0V0PYsnp3Bk=; b=MJG/M6MPgS0nnk/pz6hJtfxnDyRB9qeOjFsHg9FbzTR90MRUmPUNz8F/tt3bFVdeoF 8WPDeu+I4dF/Dg0fokOWwDGpmcdScPH5Yb/SN+mY8vbAT59JnSfzqeGPXaEotNSCTxGc 3lVBGsqj0/hDVsHvruSyrKqm81gfNotyucd2U= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=tl7FiMSf6LjF37e0SbXxdGSWKm2xd70o5ZvndCsULsVrVM+bO7S5hVU1uV9ZgJ/wdj B5m1ox1ghAsiLkqd+yKvCqI1ACOqNntq9T2FyEHj30W3IA3EEFThpXktY+X7rhg29wIr 20EQvKc1EcB8y6gZovI1yl0iM8ZnyZ83dn/8w= Received: by 10.68.26.72 with SMTP id j8mr1184965pbg.213.1306563449647; Fri, 27 May 2011 23:17:29 -0700 (PDT) Received: from localhost.localdomain (76-253-2-119.lightspeed.sntcca.sbcglobal.net [76.253.2.119]) by mx.google.com with ESMTPS id c5sm1098902pbj.9.2011.05.27.23.17.28 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 27 May 2011 23:17:29 -0700 (PDT) From: Manish Katiyar To: tytso@mit.edu, jack@suse.cz, linux-ext4@vger.kernel.org Cc: Manish Katiyar Subject: [PATCH v2 1/3] ext4: Fix missing acl release in error path in acl.c Date: Fri, 27 May 2011 23:16:56 -0700 Message-Id: <1306563416-4286-1-git-send-email-mkatiyar@gmail.com> X-Mailer: git-send-email 1.7.4.1 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org a) Incase journal transaction allocation fails due to ENOMEM don't call ext4_std_error() since it will remount the fs as readonly and logs the message in kernel log. b) Call posix_acl_release() incase journal allocation fails in case of error paths. Signed-off-by: Manish Katiyar Acked-by: Jan Kara --- fs/ext4/acl.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/fs/ext4/acl.c b/fs/ext4/acl.c index 21eacd7..93dc9a6 100644 --- a/fs/ext4/acl.c +++ b/fs/ext4/acl.c @@ -354,7 +354,8 @@ ext4_acl_chmod(struct inode *inode) EXT4_DATA_TRANS_BLOCKS(inode->i_sb)); if (IS_ERR(handle)) { error = PTR_ERR(handle); - ext4_std_error(inode->i_sb, error); + if (error != -ENOMEM) + ext4_std_error(inode->i_sb, error); goto out; } error = ext4_set_acl(handle, inode, ACL_TYPE_ACCESS, clone); @@ -450,8 +451,10 @@ ext4_xattr_set_acl(struct dentry *dentry, const char *name, const void *value, retry: handle = ext4_journal_start(inode, EXT4_DATA_TRANS_BLOCKS(inode->i_sb)); - if (IS_ERR(handle)) - return PTR_ERR(handle); + if (IS_ERR(handle)) { + error = PTR_ERR(handle); + goto release_and_out; + } error = ext4_set_acl(handle, inode, type, acl); ext4_journal_stop(handle); if (error == -ENOSPC && ext4_should_retry_alloc(inode->i_sb, &retries))