From: Miklos Szeredi Subject: Re: [PATCH v27 02/21] vfs: Add MAY_CREATE_FILE and MAY_CREATE_DIR permission flags Date: Fri, 2 Dec 2016 10:22:58 +0100 Message-ID: References: <1476190256-1677-1-git-send-email-agruenba@redhat.com> <1476190256-1677-3-git-send-email-agruenba@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: Alexander Viro , Christoph Hellwig , "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, LKML , linux-fsdevel , linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org, linux-api@vger.kernel.org To: Andreas Gruenbacher Return-path: In-Reply-To: <1476190256-1677-3-git-send-email-agruenba@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-ext4.vger.kernel.org On Tue, Oct 11, 2016 at 2:50 PM, Andreas Gruenbacher wrote: > Richacls distinguish between creating non-directories and directories. To > support that, add an isdir parameter to may_create(). When checking > inode_permission() for create permission, pass in an additional > MAY_CREATE_FILE or MAY_CREATE_DIR mask flag. > > Add may_replace() to allow checking for delete and create access when > replacing an existing file in vfs_rename(). That works for plain rename, but not for RENAME_EXCHANGE: is_dir and new_is_dir may be different, which means we can be deleting a non-directory *and* creating a directory in one dir and vice versa in the other. Thanks, Miklos