summary refs log tree commit diff
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
parenteb35cf60e462491249166182e3e755d3d5d91a28 (diff)
downloadlinux-9cedc194a7735e5d74ad26d3825247dc65a4d98e.tar.gz
[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>
-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();