From patchwork Fri Oct 16 15:18:19 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Gruenbacher X-Patchwork-Id: 531408 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 43040140F96 for ; Sat, 17 Oct 2015 02:32:53 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933182AbbJPPXJ (ORCPT ); Fri, 16 Oct 2015 11:23:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47120 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933152AbbJPPXG (ORCPT ); Fri, 16 Oct 2015 11:23:06 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id 49B7091E9A; Fri, 16 Oct 2015 15:23:06 +0000 (UTC) Received: from nux.redhat.com (vpn1-5-224.ams2.redhat.com [10.36.5.224]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t9GFIRcO011947; Fri, 16 Oct 2015 11:23:00 -0400 From: Andreas Gruenbacher To: Alexander Viro , "Theodore Ts'o" , Andreas Dilger , "J. Bruce Fields" , Jeff Layton , Trond Myklebust , Anna Schumaker , Dave Chinner , linux-ext4@vger.kernel.org, xfs@oss.sgi.com, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-api@vger.kernel.org Subject: [PATCH v11 41/48] xfs: Don't allow unmapped identifiers in richacls Date: Fri, 16 Oct 2015 17:18:19 +0200 Message-Id: <1445008706-15115-42-git-send-email-agruenba@redhat.com> In-Reply-To: <1445008706-15115-1-git-send-email-agruenba@redhat.com> References: <1445008706-15115-1-git-send-email-agruenba@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Don't allow acls which contain unmapped identifiers: they are meaningful for remote file systems only. Signed-off-by: Andreas Gruenbacher --- fs/xfs/xfs_richacl.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/xfs/xfs_richacl.c b/fs/xfs/xfs_richacl.c index 73c2d24..4f938b7 100644 --- a/fs/xfs/xfs_richacl.c +++ b/fs/xfs/xfs_richacl.c @@ -77,6 +77,10 @@ xfs_set_richacl(struct inode *inode, struct richacl *acl) if (!acl) return xfs_remove_richacl(inode); + /* Don't allow acls with unmapped identifiers. */ + if (richacl_has_unmapped_identifiers(acl)) + return -EINVAL; + if (richacl_equiv_mode(acl, &mode) == 0) { xfs_set_mode(inode, mode); return xfs_remove_richacl(inode);