X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=fs%2Futimes.c;h=bb0696a41735608512963ae1648a79a9d7b0bd27;hb=2903ff019b346ab8d36ebbf54853c3aaf6590608;hp=fa4dbe451e278eab0f52bbacc110b157a300cdad;hpb=a5b470ba06aa3f96999ede5feba178df6bdb134a;p=deliverable%2Flinux.git diff --git a/fs/utimes.c b/fs/utimes.c index fa4dbe451e27..bb0696a41735 100644 --- a/fs/utimes.c +++ b/fs/utimes.c @@ -140,19 +140,18 @@ long do_utimes(int dfd, const char __user *filename, struct timespec *times, goto out; if (filename == NULL && dfd != AT_FDCWD) { - int fput_needed; - struct file *file; + struct fd f; if (flags & AT_SYMLINK_NOFOLLOW) goto out; - file = fget_light(dfd, &fput_needed); + f = fdget(dfd); error = -EBADF; - if (!file) + if (!f.file) goto out; - error = utimes_common(&file->f_path, times); - fput_light(file, fput_needed); + error = utimes_common(&f.file->f_path, times); + fdput(f); } else { struct path path; int lookup_flags = 0;