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 ---