From b504ec5c77644ee505732980daed18e280cd2c76 Mon Sep 17 00:00:00 2001 From: Pavel Begunkov Date: Sun, 15 Jan 2017 02:54:00 +0300 Subject: [PATCH] locks: Check syscalls return values in lock probing travis-ci: success for series starting with [1/1] locks: Check syscalls return values in lock probing Signed-off-by: Pavel Begunkov Signed-off-by: Eugene Batalov Signed-off-by: Pavel Emelyanov --- criu/file-lock.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/criu/file-lock.c b/criu/file-lock.c index 55564f749..d9bda19e0 100644 --- a/criu/file-lock.c +++ b/criu/file-lock.c @@ -197,9 +197,13 @@ static int lock_check_fd(int lfd, struct file_lock *fl) */ pr_debug(" `- downgrading lock back\n"); if (fl->fl_ltype & LOCK_MAND) - flock(lfd, fl->fl_ltype); + ret = flock(lfd, fl->fl_ltype); else if (fl->fl_ltype == F_RDLCK) - flock(lfd, LOCK_SH); + ret = flock(lfd, LOCK_SH); + if (ret) { + pr_err("Can't downgrade lock back %d\n", ret); + return -1; + } } return 1; @@ -250,7 +254,11 @@ static int lock_ofd_check_fd(int lfd, struct file_lock *fl) else lck.l_type = F_RDLCK; - fcntl(lfd, F_OFD_SETLK, &lck); + ret = fcntl(lfd, F_OFD_SETLK, &lck); + if (ret) { + pr_err("Can't downgrade lock back %d\n", ret); + return -1; + } } return 1;