diff options
-rw-r--r-- | fs/sync.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/sync.c b/fs/sync.c index 0e8db939d96f..11e3d1c44901 100644 --- a/fs/sync.c +++ b/fs/sync.c @@ -188,11 +188,12 @@ static int do_fsync(unsigned int fd, int datasync) { struct file *file; int ret = -EBADF; + int fput_needed; - file = fget(fd); + file = fget_light(fd, &fput_needed); if (file) { ret = vfs_fsync(file, datasync); - fput(file); + fput_light(file, fput_needed); } return ret; } |