# This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/07/02 20:55:04-07:00 chrisw@osdl.org # [PATCH] chown permission check fix for ATTR_GID # # SuSE discovered this problem with chown and ATTR_GID. Make sure user # is authorized to change the group, CAN-2004-0497. # # fs/attr.c # 2004/07/02 09:07:32-07:00 chrisw@osdl.org +2 -1 # chown permission check fix for ATTR_GID # diff -Nru a/fs/attr.c b/fs/attr.c --- a/fs/attr.c 2004-07-08 16:35:57 -07:00 +++ b/fs/attr.c 2004-07-08 16:35:57 -07:00 @@ -35,7 +35,8 @@ /* Make sure caller can chgrp. */ if ((ia_valid & ATTR_GID) && - (!in_group_p(attr->ia_gid) && attr->ia_gid != inode->i_gid) && + (current->fsuid != inode->i_uid || + (!in_group_p(attr->ia_gid) && attr->ia_gid != inode->i_gid)) && !capable(CAP_CHOWN)) goto error;