Re: [PATCH v27 02/21] vfs: Add MAY_CREATE_FILE and MAY_CREATE_DIR permission flags

From: Miklos Szeredi
Date: Fri Dec 02 2016 - 04:23:14 EST


On Tue, Oct 11, 2016 at 2:50 PM, Andreas Gruenbacher
<agruenba@xxxxxxxxxx> 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