]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - fs/utimes.c
[patch for 2.6.26 4/4] vfs: utimensat(): fix write access check for futimens()
[mv-sheeva.git] / fs / utimes.c
index 118d1c3241bea5734356cb90335d78145f1d3f93..b6b664e7145ec7e0debea47c041b7c3faa9a0aee 100644 (file)
@@ -148,14 +148,9 @@ long do_utimes(int dfd, char __user *filename, struct timespec *times, int flags
                        goto mnt_drop_write_and_out;
 
                if (!is_owner_or_cap(inode)) {
-                       if (f) {
-                               if (!(f->f_mode & FMODE_WRITE))
-                                       goto mnt_drop_write_and_out;
-                       } else {
-                               error = vfs_permission(&nd, MAY_WRITE);
-                               if (error)
-                                       goto mnt_drop_write_and_out;
-                       }
+                       error = permission(inode, MAY_WRITE, NULL);
+                       if (error)
+                               goto mnt_drop_write_and_out;
                }
        }
        mutex_lock(&inode->i_mutex);