Lines 420-430
Link Here
|
420 |
return -EOPNOTSUPP; |
420 |
return -EOPNOTSUPP; |
421 |
} |
421 |
} |
422 |
/* Are we capable of setting acls on a file for which we should not be? */ |
422 |
/* Are we capable of setting acls on a file for which we should not be? */ |
423 |
if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER)) |
423 |
if ((current_fsuid() != inode->i_uid) && !capable(CAP_FOWNER)) |
424 |
{ |
424 |
{ |
425 |
gossip_err("pvfs2_xattr_set_acl: operation not permitted " |
425 |
gossip_err("pvfs2_xattr_set_acl: operation not permitted " |
426 |
"(current->fsuid %d), (inode->owner %d)\n", |
426 |
"(current_fsuid %d), (inode->owner %d)\n", |
427 |
current->fsuid, inode->i_uid); |
427 |
current_fsuid(), inode->i_uid); |
428 |
return -EPERM; |
428 |
return -EPERM; |
429 |
} |
429 |
} |
430 |
if (value) |
430 |
if (value) |
Lines 680-690
Link Here
|
680 |
if (ret != 0) |
680 |
if (ret != 0) |
681 |
{ |
681 |
{ |
682 |
gossip_debug(GOSSIP_ACL_DEBUG, "pvfs2_permission failed: inode: %llu mask = %o" |
682 |
gossip_debug(GOSSIP_ACL_DEBUG, "pvfs2_permission failed: inode: %llu mask = %o" |
683 |
"mode = %o current->fsuid = %d " |
683 |
"mode = %o current_fsuid = %d " |
684 |
"inode->i_uid = %d, inode->i_gid = %d " |
684 |
"inode->i_uid = %d, inode->i_gid = %d " |
685 |
"in_group_p = %d " |
685 |
"in_group_p = %d " |
686 |
"(ret = %d)\n", |
686 |
"(ret = %d)\n", |
687 |
llu(get_handle_from_ino(inode)), mask, inode->i_mode, current->fsuid, |
687 |
llu(get_handle_from_ino(inode)), mask, inode->i_mode, current_fsuid(), |
688 |
inode->i_uid, inode->i_gid, |
688 |
inode->i_uid, inode->i_gid, |
689 |
in_group_p(inode->i_gid), |
689 |
in_group_p(inode->i_gid), |
690 |
ret); |
690 |
ret); |
Lines 706-715
Link Here
|
706 |
int error; |
706 |
int error; |
707 |
|
707 |
|
708 |
gossip_debug(GOSSIP_ACL_DEBUG, "pvfs2_permission: inode: %llu mask = %o" |
708 |
gossip_debug(GOSSIP_ACL_DEBUG, "pvfs2_permission: inode: %llu mask = %o" |
709 |
"mode = %o current->fsuid = %d " |
709 |
"mode = %o current_fsuid = %d " |
710 |
"inode->i_uid = %d, inode->i_gid = %d" |
710 |
"inode->i_uid = %d, inode->i_gid = %d" |
711 |
"in_group_p = %d\n", |
711 |
"in_group_p = %d\n", |
712 |
llu(get_handle_from_ino(inode)), mask, mode, current->fsuid, |
712 |
llu(get_handle_from_ino(inode)), mask, mode, current_fsuid(), |
713 |
inode->i_uid, inode->i_gid, |
713 |
inode->i_uid, inode->i_gid, |
714 |
in_group_p(inode->i_gid)); |
714 |
in_group_p(inode->i_gid)); |
715 |
|
715 |
|
Lines 727-733
Link Here
|
727 |
gossip_err("pvfs2_permission: cannot write to an immutable file!\n"); |
727 |
gossip_err("pvfs2_permission: cannot write to an immutable file!\n"); |
728 |
return -EACCES; |
728 |
return -EACCES; |
729 |
} |
729 |
} |
730 |
if (current->fsuid == inode->i_uid) |
730 |
if (current_fsuid() == inode->i_uid) |
731 |
{ |
731 |
{ |
732 |
mode >>= 6; |
732 |
mode >>= 6; |
733 |
} |
733 |
} |