switch hpux_getdents() to fget_light()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 27 Aug 2012 00:41:49 +0000 (20:41 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 27 Sep 2012 01:10:05 +0000 (21:10 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/parisc/hpux/fs.c

index c71eb6c7989707d0fbbc609a8e27ec5261204b25..41e01832cb21a7c967d9bc20ccf0baea1fab297c 100644 (file)
@@ -112,9 +112,9 @@ int hpux_getdents(unsigned int fd, struct hpux_dirent __user *dirent, unsigned i
        struct file * file;
        struct hpux_dirent __user * lastdirent;
        struct getdents_callback buf;
-       int error = -EBADF;
+       int error = -EBADF, fput_needed;
 
-       file = fget(fd);
+       file = fget_light(fd, &fput_needed);
        if (!file)
                goto out;
 
@@ -134,7 +134,7 @@ int hpux_getdents(unsigned int fd, struct hpux_dirent __user *dirent, unsigned i
                        error = count - buf.count;
        }
 
-       fput(file);
+       fput_light(file, fput_needed);
 out:
        return error;
 }