|
@@ -3061,7 +3061,11 @@ int reiserfs_setattr(struct dentry *dentry, struct iattr *attr)
|
|
|
{
|
|
|
struct inode *inode = dentry->d_inode;
|
|
|
int error;
|
|
|
- unsigned int ia_valid = attr->ia_valid;
|
|
|
+ unsigned int ia_valid;
|
|
|
+
|
|
|
+ /* must be turned off for recursive notify_change calls */
|
|
|
+ ia_valid = attr->ia_valid &= ~(ATTR_KILL_SUID|ATTR_KILL_SGID);
|
|
|
+
|
|
|
reiserfs_write_lock(inode->i_sb);
|
|
|
if (attr->ia_valid & ATTR_SIZE) {
|
|
|
/* version 2 items will be caught by the s_maxbytes check
|