selinux: don't transliterate MAY_NOT_BLOCK to IPERM_FLAG_RCU
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -527,7 +527,7 @@ int avc_audit(u32 ssid, u32 tsid,
|
|||||||
* happened a little later.
|
* happened a little later.
|
||||||
*/
|
*/
|
||||||
if ((a->type == LSM_AUDIT_DATA_INODE) &&
|
if ((a->type == LSM_AUDIT_DATA_INODE) &&
|
||||||
(flags & IPERM_FLAG_RCU))
|
(flags & MAY_NOT_BLOCK))
|
||||||
return -ECHILD;
|
return -ECHILD;
|
||||||
|
|
||||||
a->selinux_audit_data.tclass = tclass;
|
a->selinux_audit_data.tclass = tclass;
|
||||||
|
@@ -2665,7 +2665,7 @@ static int selinux_inode_permission(struct inode *inode, int mask)
|
|||||||
struct common_audit_data ad;
|
struct common_audit_data ad;
|
||||||
u32 perms;
|
u32 perms;
|
||||||
bool from_access;
|
bool from_access;
|
||||||
unsigned __flags = mask & MAY_NOT_BLOCK ? IPERM_FLAG_RCU : 0;
|
unsigned flags = mask & MAY_NOT_BLOCK;
|
||||||
|
|
||||||
from_access = mask & MAY_ACCESS;
|
from_access = mask & MAY_ACCESS;
|
||||||
mask &= (MAY_READ|MAY_WRITE|MAY_EXEC|MAY_APPEND);
|
mask &= (MAY_READ|MAY_WRITE|MAY_EXEC|MAY_APPEND);
|
||||||
@@ -2682,7 +2682,7 @@ static int selinux_inode_permission(struct inode *inode, int mask)
|
|||||||
|
|
||||||
perms = file_mask_to_av(inode->i_mode, mask);
|
perms = file_mask_to_av(inode->i_mode, mask);
|
||||||
|
|
||||||
return inode_has_perm(cred, inode, perms, &ad, __flags);
|
return inode_has_perm(cred, inode, perms, &ad, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int selinux_inode_setattr(struct dentry *dentry, struct iattr *iattr)
|
static int selinux_inode_setattr(struct dentry *dentry, struct iattr *iattr)
|
||||||
|
Reference in New Issue
Block a user