27 lines
846 B
Diff
27 lines
846 B
Diff
|
# 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;
|
||
|
|