MAY_WRITE
mask = MAY_READ | MAY_WRITE;
if (mask & MAY_WRITE) {
} else if (mask & MAY_WRITE) {
error = inode_permission(idmap, inode, MAY_WRITE);
if (mask & MAY_WRITE) {
return inode_permission(&nop_mnt_idmap, inode, MAY_WRITE);
if (mask & MAY_WRITE &&
ret = inode_permission(idmap, inode, MAY_WRITE | MAY_EXEC);
inode_permission(&nop_mnt_idmap, inode, MAY_WRITE)) {
err = ceph_mds_check_access(mdsc, path, MAY_WRITE);
mask |= MAY_WRITE;
mask |= MAY_WRITE;
err = ceph_mds_check_access(mdsc, path, MAY_WRITE);
if ((mask & MAY_WRITE) && s->writeable &&
if (((mask & MAY_WRITE) && !s->writeable) ||
!!(mask & MAY_READ), !!(mask & MAY_WRITE));
mask &= MAY_READ | MAY_WRITE | MAY_EXEC;
MAY_WRITE | MAY_EXEC);
if (allow_utime & MAY_WRITE)
if (allow_utime & MAY_WRITE)
inarg.mask = mask & (MAY_READ | MAY_WRITE | MAY_EXEC);
error = gfs2_permission(&nop_mnt_idmap, inode, MAY_WRITE);
error = gfs2_permission(&nop_mnt_idmap, dir, MAY_WRITE | MAY_EXEC);
MAY_WRITE | MAY_EXEC);
MAY_WRITE | MAY_EXEC);
MAY_WRITE);
MAY_WRITE);
MAY_WRITE);
if ((mask & MAY_WRITE) && IS_IMMUTABLE(inode))
MAY_WRITE | MAY_EXEC);
if (desired & MAY_WRITE) w = 1;
if (inode_permission(idmap, inode, MAY_READ | MAY_WRITE))
error = inode_permission(idmap, dir, MAY_WRITE | MAY_EXEC);
return inode_permission(idmap, dir, MAY_WRITE | MAY_EXEC);
if (acc_mode & MAY_WRITE)
MAY_WRITE | MAY_EXEC);
error = inode_permission(idmap, dir, MAY_WRITE | MAY_EXEC);
if (!(mask & MAY_WRITE))
mask &= MAY_READ | MAY_WRITE | MAY_EXEC;
MAY_WRITE);
MAY_WRITE);
if (mask & MAY_WRITE) {
if (mask & MAY_WRITE) {
mask |= MAY_WRITE;
mask |= MAY_WRITE;
mask |= MAY_WRITE;
if ((mask & ~cache_mask & (MAY_READ | MAY_WRITE | MAY_EXEC)) != 0)
mask |= MAY_WRITE;
mask |= MAY_WRITE;
if ((mask & (MAY_READ | MAY_WRITE | MAY_EXEC)) == 0)
if ((mask & MAY_WRITE) && !(mask & MAY_READ))
acc & (MAY_READ | MAY_WRITE | MAY_EXEC));
if ((mask & MAY_WRITE) && root &&
return inode_permission(&nop_mnt_idmap, dir, MAY_WRITE | MAY_EXEC);
if (!(acc_mode & MAY_WRITE))
acc_mode |= MAY_WRITE;
ret = security_file_permission(file, MAY_WRITE);
ret = fsnotify_file_area_perm(file, MAY_WRITE, &offset, len);
error = inode_permission(idmap, inode, MAY_WRITE);
!special_file(realinode->i_mode) && mask & MAY_WRITE) {
mask &= ~(MAY_WRITE | MAY_APPEND);
acc_mode = MAY_WRITE;
want &= MAY_READ | MAY_WRITE | MAY_EXEC;
if ((op & ~mode & (MAY_READ|MAY_WRITE|MAY_EXEC)) == 0)
if (sysctl_perm(head, table, write ? MAY_WRITE : MAY_READ))
error = mask & MAY_WRITE ? -EACCES : 0;
int mask = read_write == READ ? MAY_READ : MAY_WRITE;
int mask = write ? MAY_WRITE : MAY_READ;
if (!inode_permission(idmap, inode, MAY_WRITE))
*may_flags = MAY_OPEN | MAY_READ | MAY_WRITE;
*may_flags = MAY_OPEN | MAY_WRITE;
MAY_EXEC | MAY_WRITE);
if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_WRITE))
if (!inode_permission(idmap, d_inode(dentry->d_parent), MAY_EXEC | MAY_WRITE))
err = file_permission(filp, MAY_WRITE);
if (mask & MAY_WRITE)
if (mask & MAY_WRITE) {
if (!(mask & MAY_WRITE))
error = xattr_permission(idmap, inode, name, MAY_WRITE);
error = xattr_permission(idmap, inode, name, MAY_WRITE);
if (mask & MAY_WRITE)
if (!(perm_mask & (MAY_READ | MAY_WRITE | MAY_ACCESS)))
static const int oflag2acc[O_ACCMODE] = { MAY_READ, MAY_WRITE,
MAY_READ | MAY_WRITE };
ret = inode_permission(&nop_mnt_idmap, inode, MAY_WRITE);
return file_permission(f, MAY_WRITE) == 0;
file_permission(vma->vm_file, MAY_WRITE) == 0;
file_permission(vma->vm_file, MAY_WRITE) == 0;
err = path_permission(&path, MAY_WRITE);
MAY_READ | MAY_WRITE, sock->sk,
MAY_READ | MAY_WRITE, peer_sk,
m |= MAY_WRITE;
MAY_READ | MAY_WRITE, IN_ATOMIC))
perms |= MAY_WRITE;
if ((flags & O_APPEND) && (perms & MAY_WRITE))
perms = (perms & ~MAY_WRITE) | MAY_APPEND;
perms |= MAY_WRITE;
#define mask_mode_t(X) (X & (MAY_EXEC | MAY_WRITE | MAY_READ | MAY_APPEND))
#define AA_AUDIT_FILE_MASK (MAY_READ | MAY_WRITE | MAY_EXEC | MAY_APPEND |\
#define AA_MAY_WRITE MAY_WRITE
#define PERMS_CHRS_MASK (MAY_READ | MAY_WRITE | AA_MAY_CREATE | \
#define AA_PTRACE_TRACE MAY_WRITE
#define AA_SIGNAL_PERM_MASK (MAY_READ | MAY_WRITE)
MAY_WRITE, &ad),
if (mask & MAY_WRITE)
return common_perm_cond(OP_TRUNC, path, MAY_WRITE | AA_MAY_SETATTR);
MAY_READ | AA_MAY_GETATTR | MAY_WRITE |
0, MAY_WRITE | AA_MAY_SETATTR |
MAY_READ | AA_MAY_GETATTR | MAY_WRITE |
0, MAY_WRITE | AA_MAY_SETATTR |
mask |= MAY_WRITE;
mask |= MAY_WRITE;
if (old & MAY_WRITE)
case MAY_WRITE:
if ((mask & MAY_WRITE) && test_bit(IMA_DIGSIG, &iint->atomic_flags) &&
mask & (MAY_READ | MAY_WRITE | MAY_EXEC |
entry->mask = MAY_WRITE;
if (entry->mask & MAY_WRITE)
else if (mask & MAY_WRITE)
if (mask & MAY_WRITE)
mask = requested & (MAY_READ|MAY_WRITE|MAY_EXEC|MAY_APPEND);
if ((file->f_flags & O_APPEND) && (mask & MAY_WRITE))
#define MAY_DELIVER MAY_WRITE /* Signal delivery requires write */
#define MAY_READWRITE (MAY_READ | MAY_WRITE)
if (access & MAY_WRITE)
if ((may & MAY_WRITE) == MAY_WRITE)
rc = smk_curacc(isp, MAY_WRITE, &ad);
rc = smk_bu_inode(d_backing_inode(old_dentry), MAY_WRITE, rc);
rc = smk_curacc(isp, MAY_WRITE, &ad);
rc = smk_bu_inode(d_backing_inode(new_dentry), MAY_WRITE, rc);
rc = smk_curacc(smk_of_inode(ip), MAY_WRITE, &ad);
rc = smk_bu_inode(ip, MAY_WRITE, rc);
rc = smk_curacc(smk_of_inode(dir), MAY_WRITE, &ad);
rc = smk_bu_inode(dir, MAY_WRITE, rc);
rc = smk_curacc(smk_of_inode(d_backing_inode(dentry)), MAY_WRITE, &ad);
rc = smk_bu_inode(d_backing_inode(dentry), MAY_WRITE, rc);
rc = smk_curacc(smk_of_inode(dir), MAY_WRITE, &ad);
rc = smk_bu_inode(dir, MAY_WRITE, rc);
mask &= (MAY_READ|MAY_WRITE|MAY_EXEC|MAY_APPEND);
rc = smk_curacc(smk_of_inode(d_backing_inode(dentry)), MAY_WRITE, &ad);
rc = smk_bu_inode(d_backing_inode(dentry), MAY_WRITE, rc);
rc = smk_curacc(smk_of_inode(d_backing_inode(dentry)), MAY_WRITE, &ad);
rc = smk_bu_inode(d_backing_inode(dentry), MAY_WRITE, rc);
rc = smk_curacc(smk_of_inode(d_backing_inode(dentry)), MAY_WRITE, &ad);
rc = smk_bu_inode(d_backing_inode(dentry), MAY_WRITE, rc);
rc = smk_curacc(smk_of_inode(d_backing_inode(dentry)), MAY_WRITE, &ad);
rc = smk_bu_inode(d_backing_inode(dentry), MAY_WRITE, rc);
rc = smk_curacc(smk_of_inode(d_backing_inode(dentry)), MAY_WRITE, &ad);
rc = smk_bu_inode(d_backing_inode(dentry), MAY_WRITE, rc);
rc = smk_curacc(smk_of_inode(inode), MAY_WRITE, &ad);
rc = smk_bu_file(file, MAY_WRITE, rc);
rc = smk_curacc(smk_of_inode(inode), MAY_WRITE, &ad);
rc = smk_bu_file(file, MAY_WRITE, rc);
(mode & (MAY_WRITE | MAY_APPEND)))
rc = smk_access(tsp->smk_task, ssp->smk_out, MAY_WRITE, &ad);
rc = smk_access(ssp->smk_in, tsp->smk_task, MAY_WRITE, &ad);
may |= MAY_WRITE;
return smk_curacc_on_task(p, MAY_WRITE, __func__);
return smk_curacc_on_task(p, MAY_WRITE, __func__);
return smk_curacc_on_task(p, MAY_WRITE, __func__);
return smk_curacc_on_task(p, MAY_WRITE, __func__);
return smk_curacc_on_task(p, MAY_WRITE, __func__);
rc = smk_access(skp, hkp, MAY_WRITE, &ad);
rc = smk_bu_note("IPv4 host check", skp, hkp, MAY_WRITE, rc);
rc = smk_access(subject, object, MAY_WRITE, &ad);
rc = smk_bu_note("IPv6 check", subject, object, MAY_WRITE, rc);
may |= MAY_WRITE;
rc = smk_access(skp, okp, MAY_WRITE, &ad);
rc = smk_bu_note("UDS connect", skp, okp, MAY_WRITE, rc);
rc = smk_access(okp, skp, MAY_WRITE, &ad);
MAY_WRITE, rc);
rc = smk_access(ssp->smk_out, osp->smk_in, MAY_WRITE, &ad);
rc = smk_bu_note("UDS send", ssp->smk_out, osp->smk_in, MAY_WRITE, rc);
rc = smk_access(skp, ssp->smk_in, MAY_WRITE, &ad);
MAY_WRITE, rc);
rc = smk_access(skp, ssp->smk_in, MAY_WRITE, &ad);
MAY_WRITE, rc);
rc = smk_access(skp, ssp->smk_in, MAY_WRITE, &ad);
rc = smk_bu_note("IPv4 connect", skp, ssp->smk_in, MAY_WRITE, rc);
request |= MAY_WRITE;
rc = smk_access(subj, obj, MAY_WRITE, &ad);
rc = smk_bu_note("notification", subj, obj, MAY_WRITE, rc);
perm |= MAY_WRITE;
if (!error && (acc_mode & MAY_WRITE))