提交 7348e0ae 编写于 作者: M mucor

fix dac in write and execute case

Change-Id: I256c6d908bce019698d349456109c8437ba751fc
上级 de1025a3
......@@ -114,7 +114,7 @@ int do_mkdir(int dirfd, const char *pathname, mode_t mode)
}
parentVnode->useCount++;
if (VfsVnodePermissionCheck(parentVnode, WRITE_OP))
if (VfsVnodePermissionCheck(parentVnode, (WRITE_OP | EXEC_OP)))
{
ret = -EACCES;
goto errout_with_count;
......
......@@ -226,7 +226,7 @@ int fp_open(char *fullpath, int oflags, mode_t mode)
if ((ret != OK) && (oflags & O_CREAT) && vnode)
{
/* if file not exist, but parent dir of the file is exist */
if (VfsVnodePermissionCheck(vnode, WRITE_OP))
if (VfsVnodePermissionCheck(vnode, (WRITE_OP | EXEC_OP)))
{
ret = -EACCES;
VnodeDrop();
......
......@@ -76,8 +76,8 @@ static int check_rename_target(struct Vnode *old_vnode, struct Vnode *old_parent
return -EBUSY;
}
if (VfsVnodePermissionCheck(old_parent_vnode, WRITE_OP)
|| VfsVnodePermissionCheck(new_parent_vnode, WRITE_OP))
if (VfsVnodePermissionCheck(old_parent_vnode, (WRITE_OP | EXEC_OP))
|| VfsVnodePermissionCheck(new_parent_vnode, (WRITE_OP | EXEC_OP)))
{
return -EACCES;
}
......
......@@ -152,7 +152,7 @@ int do_rmdir(int dirfd, const char *pathname)
goto errout_with_lock;
}
if (VfsVnodePermissionCheck(vnode->parent, WRITE_OP)) {
if (VfsVnodePermissionCheck(vnode->parent, (WRITE_OP | EXEC_OP))) {
ret = -EACCES;
goto errout_with_lock;
}
......
......@@ -63,7 +63,7 @@ static int check_target(struct Vnode *vnode)
return -EBUSY;
}
if (VfsVnodePermissionCheck(vnode->parent, WRITE_OP))
if (VfsVnodePermissionCheck(vnode->parent, (WRITE_OP | EXEC_OP)))
{
return -EACCES;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册