mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
[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>
This commit is contained in:
parent
eb35cf60e4
commit
9cedc194a7
@ -755,6 +755,7 @@ static int flock_lock_file(struct file *filp, struct file_lock *request)
|
|||||||
if (request->fl_type == F_UNLCK)
|
if (request->fl_type == F_UNLCK)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
error = -ENOMEM;
|
||||||
new_fl = locks_alloc_lock();
|
new_fl = locks_alloc_lock();
|
||||||
if (new_fl == NULL)
|
if (new_fl == NULL)
|
||||||
goto out;
|
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_copy_lock(new_fl, request);
|
||||||
locks_insert_lock(&inode->i_flock, new_fl);
|
locks_insert_lock(&inode->i_flock, new_fl);
|
||||||
new_fl = NULL;
|
new_fl = NULL;
|
||||||
|
error = 0;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
unlock_kernel();
|
unlock_kernel();
|
||||||
|
Loading…
Reference in New Issue
Block a user