summaryrefslogtreecommitdiffstats
path: root/fs/locks.c
diff options
context:
space:
mode:
authorKirill Korotaev <dev@openvz.org>2006-06-14 17:59:35 +0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-14 08:59:44 -0700
commit9cedc194a7735e5d74ad26d3825247dc65a4d98e (patch)
tree973541332ad3428448be7636eb78e2106aafb869 /fs/locks.c
parenteb35cf60e462491249166182e3e755d3d5d91a28 (diff)
downloadlinux-stable-9cedc194a7735e5d74ad26d3825247dc65a4d98e.tar.gz
linux-stable-9cedc194a7735e5d74ad26d3825247dc65a4d98e.tar.bz2
linux-stable-9cedc194a7735e5d74ad26d3825247dc65a4d98e.zip
[PATCH] Return error in case flock_lock_file failure
If flock_lock_file() failed to allocate flock with locks_alloc_lock() then "error = 0" is returned. Need to return some non-zero. Signed-off-by: Pavel Emelianov <xemul@openvz.org> Signed-off-by: Kirill Korotaev <dev@openvz.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/locks.c')
-rw-r--r--fs/locks.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/locks.c b/fs/locks.c
index 6f99c0a6f836..ab61a8b54829 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -755,6 +755,7 @@ static int flock_lock_file(struct file *filp, struct file_lock *request)
if (request->fl_type == F_UNLCK)
goto out;
+ error = -ENOMEM;
new_fl = locks_alloc_lock();
if (new_fl == NULL)
goto out;
@@ -781,6 +782,7 @@ static int flock_lock_file(struct file *filp, struct file_lock *request)
locks_copy_lock(new_fl, request);
locks_insert_lock(&inode->i_flock, new_fl);
new_fl = NULL;
+ error = 0;
out:
unlock_kernel();