On Tue, Oct 11, 2016 at 2:50 PM, Andreas Gruenbacher
[off-list ref] 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