From patchwork Tue Apr 8 02:02:50 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: ZhangZhen X-Patchwork-Id: 337553 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 F1FF514008A for ; Tue, 8 Apr 2014 12:04:04 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755932AbaDHCEC (ORCPT ); Mon, 7 Apr 2014 22:04:02 -0400 Received: from [119.145.14.66] ([119.145.14.66]:7438 "EHLO szxga03-in.huawei.com" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1755552AbaDHCEB (ORCPT ); Mon, 7 Apr 2014 22:04:01 -0400 Received: from 172.24.2.119 (EHLO szxeml212-edg.china.huawei.com) ([172.24.2.119]) by szxrg03-dlp.huawei.com (MOS 4.4.3-GA FastPath queued) with ESMTP id AMZ70529; Tue, 08 Apr 2014 10:03:17 +0800 (CST) Received: from SZXEML403-HUB.china.huawei.com (10.82.67.35) by szxeml212-edg.china.huawei.com (172.24.2.181) with Microsoft SMTP Server (TLS) id 14.3.158.1; Tue, 8 Apr 2014 10:02:56 +0800 Received: from [127.0.0.1] (10.111.69.77) by szxeml403-hub.china.huawei.com (10.82.67.35) with Microsoft SMTP Server id 14.3.158.1; Tue, 8 Apr 2014 10:02:51 +0800 Message-ID: <534358CA.3050808@huawei.com> Date: Tue, 8 Apr 2014 10:02:50 +0800 From: ZhangZhen User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 To: , Jan Kara CC: Subject: [PATCH] ext4: check the acl's validity before setting References: <1396922063-4879-1-git-send-email-zhenzhang.zhang@huawei.com> In-Reply-To: <1396922063-4879-1-git-send-email-zhenzhang.zhang@huawei.com> X-Forwarded-Message-Id: <1396922063-4879-1-git-send-email-zhenzhang.zhang@huawei.com> X-Originating-IP: [10.111.69.77] X-CFilter-Loop: Reflected Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Before setting the acl, call posix_acl_valid() to check if it is valid or not. Signed-off-by: zhang zhen --- fs/ext4/acl.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/fs/ext4/acl.c b/fs/ext4/acl.c index d40c8db..97f7650 100644 --- a/fs/ext4/acl.c +++ b/fs/ext4/acl.c @@ -197,6 +197,12 @@ __ext4_set_acl(handle_t *handle, struct inode *inode, int type, size_t size = 0; int error; + if (acl) { + error = posix_acl_valid(acl); + if (error < 0) + return error; + } + switch (type) { case ACL_TYPE_ACCESS: name_index = EXT4_XATTR_INDEX_POSIX_ACL_ACCESS;