Browse Source

switch fadvise(2) to fget_light()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 13 years ago
parent
commit
611443783a
1 changed files with 3 additions and 2 deletions
  1. 3 2
      mm/fadvise.c

+ 3 - 2
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