From e4cee8d3e7a5dff7c69619c16c539e9cdd067aff Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sat, 21 Apr 2012 18:46:53 -0400 Subject: [PATCH] --- yaml --- r: 309980 b: refs/heads/master c: bdc689594bf3ce967bc3a17ba5db3f23222dede0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/locks.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 049101ac16ad..3596019f7c0c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 20ba5d736f5a42abbee3e14384ff2d0fdaef2e6d +refs/heads/master: bdc689594bf3ce967bc3a17ba5db3f23222dede0 diff --git a/trunk/fs/locks.c b/trunk/fs/locks.c index 4f441e46cef4..814c51d0de47 100644 --- a/trunk/fs/locks.c +++ b/trunk/fs/locks.c @@ -1636,12 +1636,13 @@ EXPORT_SYMBOL(flock_lock_file_wait); SYSCALL_DEFINE2(flock, unsigned int, fd, unsigned int, cmd) { struct file *filp; + int fput_needed; struct file_lock *lock; int can_sleep, unlock; int error; error = -EBADF; - filp = fget(fd); + filp = fget_light(fd, &fput_needed); if (!filp) goto out; @@ -1674,7 +1675,7 @@ SYSCALL_DEFINE2(flock, unsigned int, fd, unsigned int, cmd) locks_free_lock(lock); out_putf: - fput(filp); + fput_light(filp, fput_needed); out: return error; }