[PATCH] Return error in case flock_lock_file failure

From: Kirill Korotaev
Date: Wed Jun 14 2006 - 09:58:36 EST


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@xxxxxxxxxx>
Signed-Off-By: Kirill Korotaev <dev@xxxxxxxxxx>

--- ./fs/locks.c.flfix 2006-06-05 12:09:42.000000000 +0400
+++ ./fs/locks.c 2006-06-05 12:27:20.000000000 +0400
@@ -705,6 +705,7 @@ static int flock_lock_file(struct file *
if (request->fl_type == F_UNLCK)
goto out;

+ error = -ENOMEM;
new_fl = locks_alloc_lock();
if (new_fl == NULL)
goto out;
@@ -731,6 +732,7 @@ static int flock_lock_file(struct file *
locks_copy_lock(new_fl, request);
locks_insert_lock(&inode->i_flock, new_fl);
new_fl = NULL;
+ error = 0;

out:
unlock_kernel();