summaryrefslogtreecommitdiff
path: root/mm/readahead.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/readahead.c')
-rw-r--r--mm/readahead.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/readahead.c b/mm/readahead.c
index ea8f8fa21649..1011111e2bf4 100644
--- a/mm/readahead.c
+++ b/mm/readahead.c
@@ -580,9 +580,10 @@ SYSCALL_DEFINE(readahead)(int fd, loff_t offset, size_t count)
{
ssize_t ret;
struct file *file;
+ int fput_needed;
ret = -EBADF;
- file = fget(fd);
+ file = fget_light(fd, &fput_needed);
if (file) {
if (file->f_mode & FMODE_READ) {
struct address_space *mapping = file->f_mapping;
@@ -591,7 +592,7 @@ SYSCALL_DEFINE(readahead)(int fd, loff_t offset, size_t count)
unsigned long len = end - start + 1;
ret = do_readahead(mapping, file, start, len);
}
- fput(file);
+ fput_light(file, fput_needed);
}
return ret;
}