From patchwork Tue Jan 5 20:33:47 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johannes Hirte X-Patchwork-Id: 71161 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.2) with ESMTP id o05KYKI4018317 for ; Tue, 5 Jan 2010 20:34:21 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755402Ab0AEUdz (ORCPT ); Tue, 5 Jan 2010 15:33:55 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755335Ab0AEUdz (ORCPT ); Tue, 5 Jan 2010 15:33:55 -0500 Received: from mail.fem.tu-ilmenau.de ([141.24.101.79]:48120 "EHLO mail.fem.tu-ilmenau.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754612Ab0AEUdy (ORCPT ); Tue, 5 Jan 2010 15:33:54 -0500 Received: from datengrab.localnet (erft-4d07d869.pool.mediaWays.net [77.7.216.105]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.fem.tu-ilmenau.de (Postfix) with ESMTPSA id 160A56171; Tue, 5 Jan 2010 21:33:53 +0100 (CET) From: Johannes Hirte To: Chris Mason Subject: [PATCH] check for NULL pointer dereference in btrfs_set_acl Date: Tue, 5 Jan 2010 21:33:47 +0100 User-Agent: KMail/1.13.0 (Linux/2.6.33-rc2-00302-gc5974b8-dirty; KDE/4.3.85; x86_64; ; ) MIME-Version: 1.0 Cc: linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org Message-Id: <201001052133.48355.johannes.hirte@fem.tu-ilmenau.de> Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org diff --git a/fs/btrfs/acl.c b/fs/btrfs/acl.c index 2e9e699..3a3a96d 100644 --- a/fs/btrfs/acl.c +++ b/fs/btrfs/acl.c @@ -111,13 +111,15 @@ static int btrfs_set_acl(struct btrfs_trans_handle *trans, switch (type) { case ACL_TYPE_ACCESS: - mode = inode->i_mode; - ret = posix_acl_equiv_mode(acl, &mode); - if (ret < 0) - return ret; - ret = 0; - inode->i_mode = mode; name = POSIX_ACL_XATTR_ACCESS; + if (acl) { + mode = inode->i_mode; + ret = posix_acl_equiv_mode(acl, &mode); + if (ret < 0) + return ret; + ret = 0; + inode->i_mode = mode; + } break; case ACL_TYPE_DEFAULT: