posix_acl.c (f0eef25339f92f7cd4aeea23d9ae97987a5a1e82) | posix_acl.c (da9592edebceeba1b9301beafe80ec8b9c2db0ce) |
---|---|
1/* 2 * linux/fs/posix_acl.c 3 * 4 * Copyright (C) 2002 by Andreas Gruenbacher <a.gruenbacher@computer.org> 5 * 6 * Fixes from William Schumacher incorporated on 15 March 2001. 7 * (Reported by Charles Bertsch, <CBertsch@microtest.com>). 8 */ --- 203 unchanged lines hidden (view full) --- 212{ 213 const struct posix_acl_entry *pa, *pe, *mask_obj; 214 int found = 0; 215 216 FOREACH_ACL_ENTRY(pa, acl, pe) { 217 switch(pa->e_tag) { 218 case ACL_USER_OBJ: 219 /* (May have been checked already) */ | 1/* 2 * linux/fs/posix_acl.c 3 * 4 * Copyright (C) 2002 by Andreas Gruenbacher <a.gruenbacher@computer.org> 5 * 6 * Fixes from William Schumacher incorporated on 15 March 2001. 7 * (Reported by Charles Bertsch, <CBertsch@microtest.com>). 8 */ --- 203 unchanged lines hidden (view full) --- 212{ 213 const struct posix_acl_entry *pa, *pe, *mask_obj; 214 int found = 0; 215 216 FOREACH_ACL_ENTRY(pa, acl, pe) { 217 switch(pa->e_tag) { 218 case ACL_USER_OBJ: 219 /* (May have been checked already) */ |
220 if (inode->i_uid == current->fsuid) | 220 if (inode->i_uid == current_fsuid()) |
221 goto check_perm; 222 break; 223 case ACL_USER: | 221 goto check_perm; 222 break; 223 case ACL_USER: |
224 if (pa->e_id == current->fsuid) | 224 if (pa->e_id == current_fsuid()) |
225 goto mask; 226 break; 227 case ACL_GROUP_OBJ: 228 if (in_group_p(inode->i_gid)) { 229 found = 1; 230 if ((pa->e_perm & want) == want) 231 goto mask; 232 } --- 147 unchanged lines hidden --- | 225 goto mask; 226 break; 227 case ACL_GROUP_OBJ: 228 if (in_group_p(inode->i_gid)) { 229 found = 1; 230 if ((pa->e_perm & want) == want) 231 goto mask; 232 } --- 147 unchanged lines hidden --- |