utime(s): Honour CAP_FOWNER when times==NULL

do_utimes() does not honour CAP_FOWNER when times==NULL.
Trivial and obvious one-line fix.

Signed-off-by: Satyam Sharma <ssatyam@cse.iitk.ac.in>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Satyam Sharma 2007-07-17 00:24:23 +05:30 committed by Linus Torvalds
parent 9793c32667
commit 5b37696fda

View file

@ -106,7 +106,7 @@ long do_utimes(int dfd, char __user *filename, struct timespec *times, int flags
if (IS_IMMUTABLE(inode)) if (IS_IMMUTABLE(inode))
goto dput_and_out; goto dput_and_out;
if (current->fsuid != inode->i_uid) { if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER)) {
if (f) { if (f) {
if (!(f->f_mode & FMODE_WRITE)) if (!(f->f_mode & FMODE_WRITE))
goto dput_and_out; goto dput_and_out;