|
@@ -1538,6 +1538,11 @@ int cifs_setattr(struct dentry *direntry, struct iattr *attrs)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
time_buf.Attributes = 0;
|
|
time_buf.Attributes = 0;
|
|
|
|
|
+
|
|
|
|
|
+ /* skip mode change if it's just for clearing setuid/setgid */
|
|
|
|
|
+ if (attrs->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID))
|
|
|
|
|
+ attrs->ia_valid &= ~ATTR_MODE;
|
|
|
|
|
+
|
|
|
if (attrs->ia_valid & ATTR_MODE) {
|
|
if (attrs->ia_valid & ATTR_MODE) {
|
|
|
cFYI(1, ("Mode changed to 0x%x", attrs->ia_mode));
|
|
cFYI(1, ("Mode changed to 0x%x", attrs->ia_mode));
|
|
|
mode = attrs->ia_mode;
|
|
mode = attrs->ia_mode;
|