linamh/sys-kernel/win4lin-sources/files/win4lin-sources.CAN-2004-04...

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;