diff --git a/[refs] b/[refs] index ebc2103e0a56..7f16399c7d12 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d6483b7a78438bc333560d11b69e6a6a6cf55940 +refs/heads/master: 611443783ada3464c44e9168f6b7de2cb3fed39a diff --git a/trunk/mm/fadvise.c b/trunk/mm/fadvise.c index 9b75a045dbf4..a83245763cf8 100644 --- a/trunk/mm/fadvise.c +++ b/trunk/mm/fadvise.c @@ -26,7 +26,8 @@ */ SYSCALL_DEFINE(fadvise64_64)(int fd, loff_t offset, loff_t len, int advice) { - struct file *file = fget(fd); + int fput_needed; + struct file *file = fget_light(fd, &fput_needed); struct address_space *mapping; struct backing_dev_info *bdi; loff_t endbyte; /* inclusive */ @@ -128,7 +129,7 @@ SYSCALL_DEFINE(fadvise64_64)(int fd, loff_t offset, loff_t len, int advice) ret = -EINVAL; } out: - fput(file); + fput_light(file, fput_needed); return ret; } #ifdef CONFIG_HAVE_SYSCALL_WRAPPERS