diff options
Diffstat (limited to 'fs/nfsd')
-rw-r--r-- | fs/nfsd/vfs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 1d72f993b66e..819545d21670 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c | |||
@@ -368,7 +368,7 @@ nfsd_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp, struct iattr *iap, | |||
368 | 368 | ||
369 | /* Revoke setuid/setgid bit on chown/chgrp */ | 369 | /* Revoke setuid/setgid bit on chown/chgrp */ |
370 | if ((iap->ia_valid & ATTR_UID) && iap->ia_uid != inode->i_uid) | 370 | if ((iap->ia_valid & ATTR_UID) && iap->ia_uid != inode->i_uid) |
371 | iap->ia_valid |= ATTR_KILL_SUID; | 371 | iap->ia_valid |= ATTR_KILL_SUID | ATTR_KILL_PRIV; |
372 | if ((iap->ia_valid & ATTR_GID) && iap->ia_gid != inode->i_gid) | 372 | if ((iap->ia_valid & ATTR_GID) && iap->ia_gid != inode->i_gid) |
373 | iap->ia_valid |= ATTR_KILL_SGID; | 373 | iap->ia_valid |= ATTR_KILL_SGID; |
374 | 374 | ||
@@ -937,7 +937,7 @@ out: | |||
937 | static void kill_suid(struct dentry *dentry) | 937 | static void kill_suid(struct dentry *dentry) |
938 | { | 938 | { |
939 | struct iattr ia; | 939 | struct iattr ia; |
940 | ia.ia_valid = ATTR_KILL_SUID | ATTR_KILL_SGID; | 940 | ia.ia_valid = ATTR_KILL_SUID | ATTR_KILL_SGID | ATTR_KILL_PRIV; |
941 | 941 | ||
942 | mutex_lock(&dentry->d_inode->i_mutex); | 942 | mutex_lock(&dentry->d_inode->i_mutex); |
943 | notify_change(dentry, &ia); | 943 | notify_change(dentry, &ia); |